常用的正则表达式汇总
校验是否全由数字组成
/^[0-9]{1,20}$/
校验登录名(只能输入5-20个以字母开头、可带数字、“_”、“.”的字串)
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
校验用户姓名(只能输入1-30个以字母开头的字串)
/^[a-zA-Z]{1,30}$/
校验密码(只能输入6-20个字母、数字、下划线)
/^(\w){6,20}$/
校验手机号码(必须以数字开头,除数字外,可含有“-”)
/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/
校验邮政编码
/^[a-zA-Z0-9]{3,12}$/
校验IP
/^[0-9.]{1,20}$/
校验非负整数(正整数 + 0)
/^\\d+$/
校验正整数
/^[0-9]*[1-9][0-9]*$/
校验非正整数(负整数 + 0)
/^((-\\d+)|(0+))$/
校验负整数
/^-[0-9]*[1-9][0-9]*$/
校验整数
/^-?\\d+$/
校验非负浮点数(正浮点数 + 0)
/^\\d+(\\.\\d+)?$/
校验非正浮点数(负浮点数 + 0)
/^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$/
校验浮点数
/^(-?\\d+)(\\.\\d+)?$/
校验由26个英文字母组成的字符串
/^[A-Za-z]+$/
校验由26个英文字母的大写组成的字符串
/^[A-Z]+$/
校验由26个英文字母的小写组成的字符串
/^[a-z]+$/
校验由数字和26个英文字母组成的字符串
/^[A-Za-z0-9]+$/
校验由数字、26个英文字母或者下划线组成的字符串
/^\\w+$/
校验email地址
/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/
校验url
/^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$/
常用的正则表达式的元字符
基本元字符
"\s":用于匹配单个空格符,包括tab键和换行符;
"\S":用于匹配除单个空格符之外的所有字符;
"\d":用于匹配从0到9的数字;
"\w":用于匹配字母,数字或下划线字符;
"\W":用于匹配所有与\w不匹配的字符;
限定符
"+":元字符规定其前导字符必须在目标对象中连续出现一次或多次。
"*":元字符规定其前导字符必须在目标对象中出现零次或连续多次。
"?":元字符规定其前导对象必须在目标对象中连续出现零次或一次。
"{n}":n是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
:{n,}":n是一个非负整数。至少匹配 n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
"{n,m}":m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
定位符
"^":定位符规定匹配模式必须出现在目标字符串的开头
"$":定位符规定匹配模式必须出现在目标对象的结尾
"\b":定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一
"\B":定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。
优先级
1.\ 转义符
2.(), (?:), (?=), [] 圆括号和方括号
3.*, +, ?, {n}, {n,}, {n,m} 限定符
4.^, $, \b, \B 定位符\
5.| “或”操作符