1. 边界符
^:表示字符串开始位置,在多行匹配中表示一行的开始位置。
/^\w+/匹配字符串中第一个单词。
var reg2 = /^asd/;//匹配以asd为开始位置字符
console.log(reg2.test(‘asdgfd’));//true
console.log(reg2.test(‘gasdfd’));//false
$:表示字符串结束的位置,在多行匹配中表示一行的结束位置。
var reg3 = /^asd$/; //精确匹配
console.log(reg3.test(‘asdgfd’));//false
console.log(reg3.test(‘gasdfd’));//false
console.log(reg3.test(‘asd’));//true
\b :匹配单词边界
var reg1=/\bchild\b/; //单词边界,注册用户名不允许空格常用
console.log(reg1.test(“Hello children”));//false
2. 字符类
var rg = /[xyz]/; // 字符串有xyz三个其中一个字符
console.log(rg.test('abcd')); // false
console.log(rg.test('abxcd')); // true
console.log(rg.test('abycd')); // true
console.log(rg.test('xabcdz')); // true
var rg2 = /^[xyz]$/; // 只能是x或者y或者z
console.log(rg2.test('xx')); // false
console.log(rg2.test('x')); // true
console.log(rg2.test('xy')); // false
console.log(rg2.test('z')); // true
var rg3 = /^[0-9a-z]$/; // - 范围
console.log(rg3.test(3));
console.log(rg3.test('a3')); // false
// 中括号的^表示取反
var rg4 = /^[^0-9a-z]$/;
console.log(rg4.test('5')); // false
console.log(rg4.test('a')); // false
console.log(rg4.test('A')); //true
3.量词类
var rg = /^c*$/; // *表示可以出现0次或多次 >=0 {0,}
console.log(rg.test(''));
console.log(rg.test('c'));
console.log(rg.test('cc'));
console.log(rg.test('adfg'));
var rg = /^c+$/; // +表示可以出现1次或多次 >=1 {1,}
console.log(rg.test('')); // false
console.log(rg.test('c')); // true
console.log(rg.test('cc')); // true
console.log(rg.test('adfg')); //false
var rg = /^c?$/; // +表示可以出现1次或0次 0 || 1 {0,1}
console.log(rg.test('')); // true
console.log(rg.test('c')); // true
console.log(rg.test('cc')); // false
console.log(rg.test('adfg')); //false
var rg = /^c{3}$/; // 重复3次
console.log(rg.test('')); // false
console.log(rg.test('c')); // false
console.log(rg.test('cc')); // false
console.log(rg.test('ccc')); // true
var rg = /^c{3,}$/; // 至少3次
console.log(rg.test('')); // false
console.log(rg.test('c')); // false
console.log(rg.test('cc')); // false
console.log(rg.test('ccccc')); // true
var rg = /^c{3,5}$/; // 至少3次
console.log(rg.test('')); // false
console.log(rg.test('c')); // false
console.log(rg.test('ccc')); // true
console.log(rg.test('cccccc')); // false