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

原文地址:https://www.cnblogs.com/luoyihao/p/11960392.html