最近常用到正则表达式,特意在网上找了一些资料自己修改了一下收藏在这里,作备忘之用。(没有全部测试,谨慎使用)
. 匹配除换行符以外的任意字符
/w 匹配字母或数字或下划线或汉字
/s 匹配任意的空白符
/d 匹配数字
/b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
/W 匹配任意不是字母,数字,下划线,汉字的字符
/S 匹配任意不是空白符的字符
/D 匹配任意非数字的字符
/B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
替换输入框里的中文(/u4e00-/u9fa5)和空格(/s):οnkeyup="value=value.replace(/[/u4e00-/u9fa5/s]+$/,'')"
替换右键黏贴板的中文:onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[/u4e00-/u9fa5/s]+$/,''))"
匹配双字节字符(全角字符包括汉字在内):[^/x00-/xff]+$
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
匹配网址URL的正则表达式:[a-zA-z]+://[^/s]*
匹配国内电话号码:/d{3}-/d{8}|/d{4}-/d{7}
匹配腾讯QQ号:[1-9][0-9]{4,}
匹配中国邮政编码:[1-9]/d{5}(?!/d)
匹配身份证:/d{15}|/d{18}
匹配ip地址:/d+/./d+/./d+/./d+
匹配正整数:^[1-9]/d*$
匹配负整数:^-[1-9]/d*$
匹配整数:^-?[1-9]/d*$
匹配非负整数(正整数 + 0):^[1-9]/d*|0$
匹配非正整数(负整数 + 0):^-[1-9]/d*|0$
匹配正浮点数:^[1-9]/d*/./d*|0/./d*[1-9]/d*$
匹配负浮点数:^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$
匹配浮点数:^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$
匹配非负浮点数(正浮点数 + 0):^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$
匹配非正浮点数(负浮点数 + 0):^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$
匹配英文字母:^[A-Za-z]+$
匹配英文字母的大写:^[A-Z]+$
匹配英文字母的小写:^[a-z]+$
匹配数字和英文字母:^[A-Za-z0-9]+$
匹配数字、英文字母或者下划线:^/w+$
匹配由数字、空格或者下划线:^[/d/-/s]+$
1. GBK (GB2312/GB18030)
/x00-/xff GBK双字节编码范围
/x20-/x7f ASCII
/xa1-/xff 中文
/x80-/xff 中文
2. UTF-8 (Unicode)
/u4e00-/u9fa5 (中文)
/x3130-/x318F (韩文
/xAC00-/xD7A3 (韩文)
/u0800-/u4e00 (日文)
ps: 韩文是大于[/u9fa5]的字符
如果有错误请大家指正。