JS-正则表达式解析
正则表达式通常用于输入校验,用法示例为
if (!(/^1[345789]\d{9}$/.test($('.tel').val().trim()))) { $.toast("手机号格式有误", "text") return }
即用/xx/.test(textVal)进行检验,校验失败则弹出提示(例如用weui的toast来提示)并return,否则继续往下执行。
这里汇总下常用的正则表达式:
1.手机号:/^1[345789]\d{9}$/
2.银行卡号:/^\d{19}$/
其中,/ /表示中间为正则表达式,^表示正则表达式开始,$表示正则表达式结束,\d表示数字,[ ]表示方括号中任一元素,{ }里的数字表示重复的次数。
3.只能正数和零:/(^[1-9](\d+)?(\.\d{1,2})?$)|(^0$)|(^\d\.\d{1,2}$)/
4.允许负数:/(^-?[1-9](\d+)?(\.\d{1,2})?$)|(^-?0$)|(^-?\d\.\d{1,2}$)/
其中,[1-9]表示1-9间任一元素,+表示1到无穷个,?表示匹配前面的子表达式0次或1次(可有可无),|表示或,()则是分组,{1,2}表示1或2次,记得.需要转义。
5.邮箱号:/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
6.正整数:/^[1-9]\d*$/
其中,*表示0到无穷个。
7.身份证号码:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
也可以把正则表达式都放在一个固定的js文件,如取名为validate.js中进行封装,方便调用。
/* 数字*/ export function validateNumber(str) { const reg = /^[0-9]+$/ return reg.test(str) }