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)
}

posted @ 2019-11-29 21:24  罗毅豪  阅读(673)  评论(0编辑  收藏  举报