说明:以下内容来自互联网相关技术文档!并不定期更新;
- 正则表达式基本语法:
正则表达式
由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式;
换页符:\f = \0c
换行符:\n = \x0a
回车符:\r = \x0d
制表符: \t =\x09
垂直制表符: \v = \x0b
空白字符:\s=[\f\n\r\t\v](包括空格、制表符、换页符等等)
非空白字符:\S
注意:Windows使用\r\n表示一行的结束,而UNIX使用\n
系统保留字符:
^:匹配输入字符串的开始位置,但在[]中,则表示不接受该字符;
$:匹配输入字符串的结尾位置,如果设置了 RegExp 对象的 Multiline 属性,则$也 匹配 '\n'或'\r'
*:匹配前面的表达式0次或多次;
+:匹配前面的表达式一次或多次;
?:匹配前面的表达式0次或一次‘
.:匹配除换行符\n外的任何单字符;
\:转义字符
|:指明两项中的选择;
[ ]:表示字符集,表示能匹配字符集中的某一个字符且只能匹配一个字符;如: a[bc]d则匹配:abd,acd,不能匹配abcd;
字符集中用连字符“-”来表示一个范围:如[0-9a-zA-Z]则表示所有的数字和大小写 字母。
[^]:表示否定,表示匹配除字符集中定义的字符以外的所有字符。包括非打印字符和 行结束符,如:[^a]表示匹配除了a以外的所有字符
注意:字符集中的元字符只能是 ‘]’, ‘\’, ‘^’, 和 ‘-‘ ,其他的字符不表 示特殊意义,都表示普通字符,不需要加\;
在字符集中要表示“]”,“^”和“-”需要在后面加上转义符“\”,来表示它们代 表的分别是普通字符“]”,“^”和“-”。
\d=[0-9],所有数字
\w=[a-zA-Z],所有的字母
\s=[\t\r\n],空格,回车和tab
\D=[^\d],非数字
\W=[^\w]非字母;
\S=[^\s] 非空格,回车和tab
{n} n 是一个非负整数。匹配确定的 n 次;
{n,} n 是一个非负整数。至少匹配n 次;
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次
在javascript中建立模式匹配:
1.var reg = /^aaa$/ig
2.var reg = new RegExp("^aaa$","ig");
常用的js正则表达式:
匹配中文字符的正则表达式:[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}
trim方法:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').
replace(/[^\u4E00-\u9FA5]/))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').
replace(/[^\uFF00-\uFFFF]/g))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
本文出自 “太湖的水” 博客,谢绝转载!