表单校验——正则表达式、正则、re
在线测试地址:
1.https://c.runoob.com/front-end/854/
2.https://regexr-cn.com/ 在线测试和解析正则表达式
常用语法:
一、元字符
1.匹配符号——非打印字符
①\d 数字字符,等价于[0-9] 大写取反,如\D表示[^0-9]
②\s任何空白字符 等价于[\f\n\r\t\v]即换页 换行 回车 制表 垂直制表符
③\w 字母数字下划线 等价于[A-Za-z0-9_]
④. 除换行符以外的任意单 从字符
2.匹配次数符号——限定符
①{n}{n,}{,n}{m,n}分别为n次、至少n次,至多n次,m到n次
①? 零次或一次 等价于{0,1}
②+ 一次或多次 等价于{1,}
③* 零次或多次 等价于{0,}
3.特殊字符
①^ 开始位,在方括号中表示非
②$ 结束位
③() 选择符号 捕获分组
④| 或
4.定位符
①^ 开始位,在方括号中表示非
②$ 结束位
③\b 单词边界,字与空格之间的位置
5.非捕获元 ?=、?<=、?!、?<!
①exp1(?=exp2): 查找 exp2 前面的 exp1。
②(?<=exp2)exp1:查找 exp2 后面的 exp1。
③exp1(?!exp2): 查找后面不是 exp2 的 exp1。
④(?<!exp2)exp1:查找前面不是 exp2 的 exp1。
6.修饰符
①i ignore不区分大小写
②g global全局匹配
③m multi line 多行匹配
④s 特殊字符.中包含换行符
二、re常用示例
1.合理的用户名
[a-zA-Z0-9_-][4,16]
2.邮箱
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
3.车牌号
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
4.QQ号(非0开头,5-11位)
/^[1-9][0-9]{4,10}$/
5.密码强度(大于6位,至少一大一小一数一符)
/^(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).{6,20}$/
6.中文正则
/[\u4E00-\u9FA5]/
7.微信号(6-20位 字母开头,字母数字下划线)
/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/
参考
https://www.runoob.com/regexp/regexp-tutorial.html