前言:什么是正则表达式?你了解多少?
正则表达式,又称规则表达式 ,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。
校验数字的表达式:
-
数字:
^[0-9]*$ -
n位的数字:
^\d{n}$ -
至少n位的数字:
^\d{n,}$ -
m-n位的数字:
^\d{m,n}$ -
零和非零开头的数字:
^(0|[1-9][0-9]*)$ -
非零开头的最多带两位小数的数字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$ -
带1-2位小数的正数或负数:
^(\-)?\d+(\.\d{1,2})?$ -
正数、负数、和小数:
^(\-|\+)?\d+(\.\d+)?$ -
有两位小数的正实数:
^[0-9]+(.[0-9]{2})?$ -
有1~3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?$ -
非零的正整数:
^[1-9]\d*$或^([1-9][0-9]*){1,3}$或^\+?[1-9][0-9]*$ -
非零的负整数:
^\-[1-9][]0-9"*$或^-[1-9]\d*$ -
非负整数:
^\d+$或^[1-9]\d*|0$ -
非正整数:
^-[1-9]\d*|0$或^((-\d+)|(0+))$
校验字符的表达式:
-
汉字:
^[\u4e00-\u9fa5]{0,}$ -
英文和数字:
^[A-Za-z0-9]+$或^[A-Za-z0-9]{4,40}$ -
长度为3-20的所有字符:
^.{3,20}$ -
由26个英文字母组成的字符串:
^[A-Za-z]+$ -
由26个大写英文字母组成的字符串:
^[A-Z]+$ -
由26个小写英文字母组成的字符串:
^[a-z]+$ -
由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$ -
由数字、26个英文字母或者下划线组成的字符串:
^\w+$ 或 ^\w{3,20}$ -
中文、英文、数字包括下划线:
^[\u4E00-\u9FA5A-Za-z0-9_]+$ -
中文、英文、数字但不包括下划线等符号:
^[\u4E00-\u9FA5A-Za-z0-9]+$或^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
特殊要求表达式:
1.Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2.域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3.URL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4.手机号码:^[1][3,4,5,7,8][0-9]{9}$
5. 身份证号:
18位身份证:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
6.帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
7.密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
8.日期格式:^\d{4}-\d{1,2}-\d{1,2}
9.IP地址:\d+\.\d+\.\d+\.\d+
10.中文字符的正则表达式:[\u4e00-\u9fa5]