正则表达式
表达式符号说明
- ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
- $ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
- * 匹配前面元字符0次或多次
- + 匹配前面元字符1次或多次
- ? 匹配前面元字符0次或1次
- x|y 匹配x或y
- \d 匹配一个字数字符,/\d/ = /[0-9]/
- \D 匹配一个非字数字符,/\D/ = /[^0-9]/
- () 表示一个字表达式,括号中的是一个整体
- [ ]表示匹配得字符在[ ] 中,并且只能出现一次,特殊字符写在[]会被当成普通字符来匹配
- {}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s{1,3}表示匹配一到三个空格。
常用正则验证
- 只能输入数字(包括小数)
/^\d+(\.\d+)?$/
- 验证base64图片
/data:image\/jpg;base64/
- 验证精度为2的小数
/^-?[0-9]((.[0-9]{1,2})?)/
/^([\+ \-]?(([1-9]\d*)|(0)))([.]\d{0,2})?$/
- 验证手机号
/^1[3-9]\d{9}$/
- 简单验证身份证
/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/
- 简单验证统一社会信用代码或注册号(9开头)
/(^[9][0-9|a-z|A-Z]{14}$)|(^[9][0-9|a-z|A-Z]{17}$)/
- 16进制颜色值
/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/
- 验证非负数(包含小数)ps:用于输入金额等
/^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)*$/
- 验证座机号
/^\d{3}-\d{7,8}|\d{4}-\d{7,8}$/
- 验证以http和https开头的网址
/^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?$/