常用正则表达式大全
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字、字符、一些特殊的需求等等。给自己留个底,也给朋友们做个参考。
一、校验数字的表达式
数字:^[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+))$
非负浮点数:^d+(.d+)?$ 或 ^[1-9]d.d|0.d[1-9]d|0?.0+|0$
非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d.d|0.d[1-9]d))|0?.0+|0$
正浮点数:^[1-9]d.d|0.d[1-9]d$ 或 ^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]*))$
负浮点数:^-([1-9]d.d|0.d[1-9]d)$ 或 ^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$
浮点数:^(-?d+)(.d+)?$ 或 ^-?([1-9]d.d|0.d[1-9]d|0?.0+|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}$
可以输入含有^%&’,;=?$”等字符:[^%&’,;=?$x22]+
禁止输入含有~的字符:[^~x22]+
三、特殊需求表达式