在线练习

regextester

deerchao


常用正则表达式示例

邮箱格式

1
/^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/
1
/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+\.){1,63}[a-z0-9]+$/

手机号格式

1
/^1[3-9]\d{9}$/ // myReg.test(tel) 为 true 时有效

纯英文

1
/^[a-zA-Z]+$/ // 纯英文,myReg.test('abc') 为 true

纯中文

1
/^[\u4e00-\u9fa5]+$/ // 纯中文,myReg.test('中文') 为 true

只含中英文(不含特殊符号)

1
/^[\u4e00-\u9fa5a-zA-Z]+$/ // 只剩中英文,myReg.test('abc中文') 为 true

座机和传真

1
/^(\d{3,4}-)?\d{7,8}$/ // 座机和传真格式:区号-号码

身份证号码校验

1
2
/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i
// 示例: myReg.test("612522199909099999")
1
2
// 18位,从1900到2099年范围验证
/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/

数字和带小数点的数字

1
/^-?\d{1,4}(?:\.\d{1,2})?$/ // 范围0~9999,小数点后1~2位

千分位金额格式化

将字符串 str = "1234567890" 替换成财务金额显示 “1,234,567,890”

1
2
3
`${1234567890}`.replace(/(\d)(?=(\d{3})+$)/g, '$1,')
`${1234567890}`.replace(/(\d)(?=(\d{3})+$)/g, '$&,')
// (1234567890).toLocaleString() 也可以