您的位置:首页 > Web前端 > JavaScript

JavaScript 正则表达式

2016-02-28 21:20 591 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息