一、学习基本的字符含义
- ^ 匹配字符串开始
-
- $ 匹配字符串的结果
-
- \d 匹配数字[0-9] \D 匹配非数字
-
- \w 匹配数字或者字母或者下划线 \W 匹配除了(数字或者字母或者下划线)
-
- . 匹配任何非空白字符
-
- \ 转移字符 .
-
- \s 匹配任何空白符 \S 匹配任何非空白符
-
- [abc] 匹配a或b或c
-
[^abc]
匹配非(a或b或c)
-
二、数量上的表示
-
+至少一次
-
*出现任何多次
-
? 出现0次或 1次
-
{n} 出现n次
-
{n,} 出现大于等于n次
-
{n,m} 出现n到m次
一、校验数字的表达式 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
数字 ^ [0-9]$
n位的数字 ^\d{n}$
至少n位的数字 ^\d{n,}$
m-n位的数字 ^\d{m,n}$
非零开头的最多带两位小数的数字 ^([1-9][0-9])+(.[0-9]{1,2})?$
带1-2位小数的正数或负数 ^(-)?\d+(.\d{1,2})?$
有1~3位小数的正实数 ^ [0-9]+(.[0-9]{1,3})?$
非负整数 ^\d+$
非正整数 ^((-\d+)
二、校验字符的表达式 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
汉字 ^ [\u4e00-\u9fa5]{0,}$
英文和数字 ^ [A-Za-z0-9]+$
长度为3-20的所有字符 ^.{3,20}$
由26个英文字母组成的字符串 ^ [A-Za-z]+$
由数字、26个英文字母或者下划线组成的字符串 ^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线 ^ [\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号 ^ [\u4E00-\u9FA5A-Za-z0-9]+$
可以输入含有^%&’,;=?KaTeX parse error: Expected group after '^' at position 7: "等字符 [^̲%&’,;=?\x22]+
禁止输入含有~的字符 [^~\x22]+
三、特殊需求表达式 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Email地址 ^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)$
域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL [a-zA-z]+://[^\s] 或 ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码 ^(13[0-9]
电话号码 ^((\d{3,4}-)
身份证号(15位、18位数字) ^\d{15}
短身份证号码(数字、字母x结尾) ^([0-9]){7,18}(x
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) ^ [a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) ^ [a-zA-Z]\w{5,17}$
日期格式 ^\d{4}-\d{1,2}-\d{1,2}
中国邮政编码 [1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
腾讯QQ号 [1-9][0-9]{4,} (腾讯QQ号从10000开始)
IP地址 \d+.\d+.\d+.\d+ (提取IP地址时有用)
中文字符的正则表达式 [\u4e00-\u9fa5]