• 在正则表达式中,如果直接给出字符,就是精确匹配。
  • \d可以匹配一个数字
  • \w可以匹配一个字母或数字
  • .可以匹配任意字符
  • \s匹配一个空格(包括tab等空白字符)
  • \s+表示至少有一个空格
  • ^表示行的开头,^\d表示必须以数字开头。
  • $表示行的结束,\d$表示必须以数字结束

要匹配变长的字符,在正则表达式中 :

  • *表示任意个字符(包括0个)
  • +表示至少一个字符
  • ?表示0个或1个字符
  • {n}表示n个字符
  • {n,m}表示n-m个字符

    例子:

    ```javascript \d{3}\s+\d{3,8} //可以匹配以任意个空格隔开的带区号的电话号码(010 12345)

\d{3} : 表示匹配三个数字,如:010 \s+ : 表示至少有一个空格 如:’ ‘,’\t\t’等 \d{3,8} : 表示3-8个数字,如’1234567’

  1. - 如果要匹配'010-12345'这样的号码呢?
  2. ```javascript
  3. \d{3}\-\d{3,8}
  4. //'-'是特殊字符,在正则表达式中,要用'\'转义

进阶

  • 要做更精确地匹配,可以用[]表示范围,比如:
  • [0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;
  • [0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串;
  • [a-zA-Z\_\$][0-9a-zA-Z\_\$]*可以匹配由字母或下划线、$开头,后接任意个由一个数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名;
  • [a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
  • A|B可以匹配A或B,所以(J|j)ava(S|s)cript可以匹配’JavaScript’、’Javascript’、’javaScript’或者’javascript’。

    创建一个正则表达式:

  1. 直接通过/正则表达式/写出来 var re1 = /ABC\-001/;
  2. 通过new RegExp(‘正则表达式’)创建一个RegExp对象
  • 因为字符串的转义问题,字符串的两个\实际上是一个\

    var re2 = new RegExp('ABC\\-001');

  1. 两种写法是一样的:re1; // /ABC\-001/ re2; // /ABC\-001/

qq验证
图片.png

三位数校验:

  1. { required: true, message: '请输入序号' },
  2. { pattern: /^[0-9]{1,3}$/, message: '范围在0-999', trigger: 'blur' }