JavaScript 正则表达式

来源:互联网 发布:用户登录sql注入 编辑:程序博客网 时间:2024/06/14 21:30

1.普通字符匹配

匹配中文字符的正则表达式:

[u4e00-u9fa5]

匹配双字节字符(包括汉字在内):

[^x00-xff]

匹配空行的正则表达式:

n[s|]*r

匹配HTML标记的正则表达式:

/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:

(^s*) | (s*$)

计算字符串的长度(一个双字节字符长度计2,ASCII字符计1):

String.prototype.len = function() {    return this.replace([^x00-xff]/g, "aa").length;}
匹配网址URL的正则表达式:

http://([w-]+.) + [w-] + (/[w- ./?%&=] *) ?

匹配E-mail地址的正则表达式:

w+ ([-+.]w+)*@w+ ([-.]w+)*.w+([-.]w+)*

2.限制表单所输入的内容

使用正则表达式限制只能输入中文:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css"></style></head><body><!--当输入或粘贴中文时用空白取消输入内容--><input type="text" onkeyup = "value = value.replace(/[^u4E00-u9FA5]/g, '')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g, ''))"></body></html>
使用正则表达式限制只能输入数字:

<!--当输入或粘贴数字时用空白取消输入内容-->        <input type="text" onkeyup = "value = value.replace(/[^d]/g, '')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^d]/g, ''))">
使用正则表达式限制只能输入数字和英文:

<!--当输入或粘贴数字或英文时用空白取消输入内容--><input type="text" onkeyup = "value = value.replace(/[W]/g, '')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[W]/g, ''))">
使用正则表达式限制只能输入全角字符:
<!--/g global可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串--><!--当输入或粘贴全角字符时用空白取消输入内容--><input type="text" onkeyup = "value = value.replace(/[^uFF00-uFFFF]/g, '')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g, ''))">
3..去掉重复的字符

<span style="font-size:12px;"><script type="text/javascript">var s = "abacabefgeeii"//s1为所有重复的字符var s1 = s.replace(/(.).*\1/g, "$1")var re = new RegExp("["+s1+"]","g")//s2为所有不重复的字符var s2 = s.replace(re,"")//alert(s2)//alert(s1)//串联s1,s2为所有出现过的字符,不是按照出现顺序排列alert(s1+s2);</script></span>




0 0
原创粉丝点击