1、常见正则
(1)检查邮政编码//共 6 位数字,第一位不能为 0
/^[1-9]d{5}$/
(2)检查文件压缩包 //xxx.zipxxx.gzxxx.rar
/^w+.(zip|gz|rar)$/
(3)删除多余空格 //
str.replace(/s+/,'');
(4)删除首尾空格
str.replace(/^s+/,''); //去除开头的空格
str.replace(/s+$/,''); // 去除结尾的空格
(5)//删除所有的空格
str.replace(/s/g,'');
(6)//删除前后的空格
str.replace((^s+)|(s+$),'')
(7)电子邮件( xxxxx @ xxxx(.xxxx)+)
/^w+@w+(.w+)+$/
如: 770107@qq.com; 770107@qq.com.cn
(8)手机号(1开头任意数字) 1(3|5|7|8|4)d{9}
/^1d{10}$/
(9)身份证
/^d{17}(d|X)$/
422422 19660101 5810
421087 19890101 121X
^[1-9]d{5}[19|20]d{2}d{7}(d|X)$
(10)日期 (合法日期格式:xxxx-xx-xx或 xxxx/xx/xx或xxxx.xx.xx)
/^d{4}[-/.]d{2}[-/.]d{2}$/
(11)只能输入中文
str.replace(/[^u4e00-u9fa5]/g,'');
(12)账户名只能使用数字字母下划线,且数字不能开头,长度在6-15之间
/^[a-zA-Z_]w{5,14}$/
(13)验证IP
(xxx.)xxx.xxx.xxx|
254.245.255.255
240.196.19.5
/^((25[0-5]|2[0-4]d|1d{2}|[1-9]?d).){3}(25[0-5]|2[0-4]d|1d{2}|[1-9]?d)$/
(14)汉字在正则中表示为[u4e00-u9fa5]
(15)字母和数字表示为A-Za-z0-9
(16)因此邮件名称部分的正则表达式整理如下:
电子邮件( xxxxx @ xxxx(.xxxx)+)
/^w+@w+(.w+)+$/
如: 770107@qq.com; 770107@qq.com.cn
(17)手机号(1开头任意数字)
/^1(3|5|7|8|4|6|9)d{9}$/
2、正则表达式的特殊字符
w 匹配一个可以组成单词(变量)的字符(包括字母,数字,下划线)
如[w]匹配“$5.98”中的5,等价于[a-zA-Z0-9_] 。
W 匹配一个不可以组成单词的字符
如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9_]。
匹配一个换行符
匹配一个回车符
匹配一个制表符
v 匹配一个重直制表符
s 匹配一个空白字符,包括
,
,f, ,v等
S 匹配一个非空白字符,等于/[^
f
v]/
匹配一个单词的边界 (单词是以空格分割的)
/m/ 匹配 “ moon " 中的 'm';
/oon/ 匹配 “ moon " 中的 'oon',因为 'oon' 位于字符串的末端,后面没有单词字符;
B 匹配一个单词的非边界
3、直接量字符(转义字符)
f 换页符
换行符
回车
制表符
v 垂直制表符
/ 一个 / 直接量
\ 一个 直接量
. 一个 . 直接量
* 一个 * 直接量
+ 一个 + 直接量
? 一个 ? 直接量
| 一个 | 直接量
( 一个 ( 直接量
) 一个 ) 直接量
[ 一个 [ 直接量
] 一个 ] 直接量
{ 一个 { 直接量
} 一个 } 直接量
4、方括号
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。 [1-9]d+
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。
5、元字符
. 查找单个字符,除了换行和行结束符,等价于[^
]
w 匹配一个可以组成单词(变量)的字符(包括字符,数字,下划线), 如[w]匹配“$5.98”中的5,等价于[a-zA-Z0-9_] 。
W 查找非单词字符。匹配一个不可以组成单词的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9_]。
d 匹配一个数字字符,/d/ 等价于 /[0-9]/
D 匹配一个非数字字符,/D/ 等价于 /[^0-9]/
s 匹配一个空白字符,包括
,
,f, ,v等
S 匹配一个非空白字符,等于/[^
f
v]/
匹配单词边界。
B 匹配非单词边界。