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>