量词
- 通过量词可以设置一个内容出现的次数
语法:
{n}出现的次数 ```javascript var reg = /a{3}/; // 表示 a 要出现 3次 var result = reg.test(“aaa”); console.log(result); // true
var result = reg.test(“aab”); console.log(result); // false
- 量词只对它前边的一个内容起作用```javascriptvar reg = /ba{3}/; // b 出现1次,a 出现3次var result = reg.test("baaa");console.log(result); // true
()表示一个整体var reg = /(ba){3}/; // 表示 ba 出现 3次,加了括号就表示一个整体 var result = reg.test("bababa"); console.log(result); // true{m,n}出现 m-n次var reg = /ba{1,3}/; // 表示 a 可以出现 1到3次 console.log(reg.test("baba")); // true{m,}m次以上var reg = /ba{1,}/; console.log(reg.test("baaaaa")); // true+至少一个,相当于{1,}var reg = /ba+c/; console.log(reg.test("bac")); // true*0个或多个,相当于{0,}var reg = /ba*c/; // 没有也返回 true console.log(reg.test("bc")); // true?0个或1个,相当于{0,1}```javascript var reg = /ba?c/; console.log(reg.test(“bc”)); // true
console.log(reg.test(“baac”)); // false
- `^` **表示开头**
```javascript
var reg = /^a/;
console.log(reg.test("abc")); // true
console.log(reg.test("babc")); // false
$表示结尾var reg = /a$/; // 以 a 结尾 console.log(reg.test("abca")); // truevar reg = /^a$/; console.log(reg.test("aaa")); // false是不是心中有一万个草泥马?
如果在正则表达式中同时使用 ^ $ 则要求字符串必须完全符合正则表达式
var reg = /^a|a$/; // 表示 开头是a,或者结尾是 a,都行
console.log(reg.test("aab")); // true
练习
创建一个正则表达式检查一个手机号是否合法
- 以 1 开头
^1 - 第二位 3-9 任意数字
3-9 - 三位以后任意数字 9个
[0-9]{9}$
代码:
var reg = /^1[3-9][0-9]{9}$/;
console.log(reg.test("13898998798")); // true
