一.正则表达式之特殊符号
正则表达式的特殊符号
1, \ 可以表示正则表达式的规范,或者是转义符
设定是不冲突的,符合哪个就执行哪个
2, | 表示逻辑或的关系
表示两个规范,满足哪个都可以
如果要表示多种内容,并且限定字符个数
公式 : (内容1|内容2|内容3...){次数限定}
3, () 将()中的内容作为一个整体,来执行,确保执行正确
4, [] 在[]中设定的内容,任意满足其中一个就可以 abcd []中的内容取得的true只能是取一个也就是单独的字符,其他的组合均为为false
5, - 表示在这个范围内的就可以 a-d ,同[]也只能取一个
6, [^内容] 表示 非内容即取反 ,也只能取一个
必须写在 / / 之外 /正则表达式/i /正则表达式/g
一般是与其他的函数配合使用
7, i 忽略大小写
7, g 全局匹配
逻辑或的判定
1,内容的判断,正常的判断
2,个数的判断,只要是包含个数就可以
内容,可以是数字,字母,下划线,字符只要是这3个就行,不能少,可以多
var reg1 = /^\d{3}|\w{3}$/;
var reg1 = /^(\d|\w){3}$/;
console.log( reg1.test( '123' ) ); → true
console.log( reg1.test( 'abc' ) ); → true
console.log( reg1.test( '1234' ) ); → false
console.log( reg1.test( 'abcd' ) ); → false
console.log( reg1.test( '1!1' ) ); → false
console.log( reg1.test( 'a&b' ) ); → false
console.log( reg1.test( 'ab' ) ); → false
console.log( reg1.test( '12' ) ); → false
console.log( reg1.test( '12&12' ) ); → false
console.log( reg1.test( 'ab&ab' ) ); → false
var reg2 = /^[abcd]$/;
console.log( reg2.test('a') ); → true
console.log( reg2.test('b') ); → true
console.log( reg2.test('c') ); → true
console.log( reg2.test('d') ); → true
console.log( reg2.test('ab') ); → false
console.log( reg2.test('abc') ); → false
console.log( reg2.test('abcd') ); → false
console.log( reg2.test('bc') ); → false
console.log( reg2.test('bcd') ); → false
console.log( reg2.test('cd') ); → false
var reg3 = /^[a-d]$/;
console.log( reg3.test('a') ); → true
console.log( reg3.test('b') ); → true
console.log( reg3.test('c') ); → true
console.log( reg3.test('d') ); → true
console.log( reg3.test('ab') ); → false
console.log( reg3.test('abc') ); → false
console.log( reg3.test('abcd') ); → false
console.log( reg3.test('bc') ); → false
console.log( reg3.test('bcd') ); → false
console.log( reg3.test('cd') ); → false
var reg4 = /^[^(a-d)]$/;
console.log( reg4.test('a') ); → false
console.log( reg4.test('b') ); → false
console.log( reg4.test('c') ); → false
console.log( reg4.test('d') ); → false
console.log( reg4.test('ab') ); → false
console.log( reg4.test('abc') ); → false
console.log( reg4.test('abcd') ); → false
console.log( reg4.test('bc') ); → false
console.log( reg4.test('bcd') ); → false
console.log( reg4.test('cd') ); → false
console.log( reg4.test('z') ); → true
二.正则表达式之其他配合函数
1, search()
字符串查找函数,在字符串中,查找是否有符合的内容,如果有,返回下标,没有返回-1
返回的是第一个符合内容的索引下标
indexOf() 也是查找,也返回索引下标,但是不支持正则表达式
var str1 = 'abcdefgab';
console.log( str1.search('ab') ); → 0(表示下表)
console.log( str1.search('B') ); → -1(表示没有符合的内容)
console.log( str1.search(/B/i) ); → 1
console.log( str1.indexOf('b') ); → 1
console.log( str1.indexOf(/B/i) ); → -1
2, match()
找到符合规范的字符串,并且返回内容
默认只会执行一次,并且返回第一次符合规范的内容
var str2 = 'abcdefgabcdefg';
var arr1 = str2.match('ab');
var arr2 = str2.match(/ab/g);
3, replace()
字符串替换,默认只替换第一个符合的内容
var str3 = 'abcd曹abcd曹abcd曹abcd';
str3 = str3.replace( /曹/g , '*');
console.log(str3);