内容:
1.正则表达式在js中的使用
2.边界符 ^ $
3.字符类: [ ]
4.量词符: 用来设定某个模式出现的次数
5.括号总结
6.座机号码验证
代码:
<script>
// 1.正则表达式在js中的使用
// 利用 RegExp对象来创建 正则表达式
var regexp = new RegExp(/123/);
console.log(regexp);
// 利用字面量创建 正则表达式
var rg = /123/;
// test 方法用来检测字符串是否符合正则表达式要求的规范
console.log(rg.test(123)); // true
console.log(rg.test('abc')); // false
console.log('******************************************');
// 2.边界符 ^ $
var rg = /abc/; // 正则表达式里面不需要加引号 不管是数字型还是字符串型
// /abc/ 只要包含有abc这个字符串返回的都是true
console.log(rg.test('abc')); // true
console.log(rg.test('abcd')); // true
console.log(rg.test('aabcd')); // true
console.log('---------------------------');
// 开头前三字符要求必须是 abc字符串才符合规范
var reg = /^abc/;
console.log(reg.test('abc')); // true
console.log(reg.test('abcd')); // true
console.log(reg.test('aabcd')); // false
console.log('---------------------------');
// 精确匹配 要求必须是 abc字符串才符合规范
var reg1 = /^abc$/;
console.log(reg1.test('abc')); // true
console.log(reg1.test('abcd')); // false
console.log(reg1.test('aabcd')); // false
console.log(reg1.test('abcabc')); // false
console.log('******************************************');
// 3.字符类: [] 表示有一系列字符可供选择,只要匹配其中一个就可以了
// 只要包含有a 或者 包含有b 或者包含有c 都返回为true
var reg1 = /[abc]/;
console.log(reg1.test('andy')); // ture
console.log(reg1.test('baby')); // ture
console.log(reg1.test('color')); // ture
console.log(reg1.test('red')); // false
console.log('------------------');
// 三选一 只有是a 或者是 b 或者是c 这三个字母才返回 true
var reg2 = /^[abc]$/;
console.log(reg2.test('aa')); // false
console.log(reg1.test('a')); // ture
console.log(reg1.test('b')); // ture
console.log(reg1.test('c')); // ture
console.log(reg1.test('abc')); // ture
console.log('------------------');
// 26个英文字母任何一个字母返回 true - 表示的是a 到z 的范围
var reg3 = /^[a-z]$/;
console.log(reg3.test('a')); // ture
console.log(reg3.test('z')); // ture
console.log(reg3.test(1)); // false
console.log(reg3.test('A')); // false
console.log('------------------');
// 26个英文字母(大写和小写都可以)任何一个字母返回 true
var reg4 = /^[a-zA-Z0-9_-]$/; // ture
console.log(reg4.test('a')); // ture
console.log(reg4.test('B')); // ture
console.log(reg4.test(8)); // ture
console.log(reg4.test('-')); // ture
console.log(reg4.test('_')); // ture
console.log(reg4.test('!')); // false
console.log('------------------');
// 如果中括号里面有^ 表示取反的意思 千万和 我们边界符 ^ 别混淆
var reg5 = /^[^a-zA-Z0-9_-]$/;
console.log(reg5.test('a')); // false
console.log(reg5.test('B')); // false
console.log(reg5.test(8)); // false
console.log(reg5.test('-')); // false
console.log(reg5.test('_')); // false
console.log(reg5.test('!')); // ture
console.log('******************************************');
// 4.量词符: 用来设定某个模式出现的次数
// 简单理解: 就是让下面的a这个字符重复多少次
// var reg6 = /^a$/;
// * 相当于 >= 0 可以出现0次或者很多次
var reg6 = /^a*$/;
console.log(reg6.test('')); // ture
console.log(reg6.test('a')); // ture
console.log(reg6.test('aaa')); // ture
console.log('------------------');
// + 相当于 >= 1 可以出现1次或者很多次
var reg7 = /^a+$/;
console.log(reg7.test('')) // false
console.log(reg7.test('a')) // ture
console.log(reg7.test('aaa')) // ture
console.log('------------------');
// ? 相当于 1 || 0
var reg8 = /^a?$/;
console.log(reg8.test('')) // ture
console.log(reg8.test('a')) // ture
console.log(reg8.test('aaa')) // false
console.log('------------------');
// {3} 就是重复3次
var reg9 = /^a{3}$/;
console.log(reg9.test('')) // false
console.log(reg9.test('a')) // false
console.log(reg9.test('aaaaaa')) // false
console.log(reg9.test('aaa')) // ture
console.log('------------------');
// {3,} 大于等于3
var reg10 = /^a{3,}$/;
console.log(reg10.test('')) // false
console.log(reg10.test('a')) // false
console.log(reg10.test('aaaaaa')) // ture
console.log(reg10.test('aaa')) // ture
console.log(reg10.test('aaaa')) // ture
console.log('------------------');
// {3,6} 大于等于3 并且 小于等于6
var reg11 = /^a{3,6}$/;
console.log(reg11.test('')); // false
console.log(reg11.test('a')); // false
console.log(reg11.test('aaaa')); // true
console.log(reg11.test('aaa')); // true
console.log(reg11.test('aaaaaaa')); // false
console.log('******************************************');
// 5.括号总结
// 中括号 字符集合.匹配方括号中的任意字符: a 也可以 b 也可以 c 可以 a||b||c
var reg12 = /^[abc]$/;
console.log(reg12.test('a')); // true
console.log(reg12.test('b')); // true
console.log(reg12.test('c')); // true
console.log(reg12.test('abc')); // false
console.log('------------------');
// 大括号 量词符. 里面表示重复次数
var reg13 = /^abc{3}$/;
console.log(reg13.test('abc')); // false
console.log(reg13.test('abcabcabc')); // false
console.log(reg13.test('abccc')); // true
console.log(reg13.test('ccc')); // false
console.log('------------------');
// 小括号 表示优先级
var reg14 = /^(abc){3}$/; // 它是让abc重复三次
console.log(reg14.test('abc'));
console.log(reg14.test('abcabcabc'));
console.log(reg14.test('abccc'));
console.log('******************************************');
// 6.座机号码验证:
// 全国座机号码 两种格式: 010-12345678 或者 0530-1234567
// 正则里面的或者 符号 |
// var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
var reg15 = /^\d{3,4}-\d{7,8}$/;
console.log(reg15.test('010-12345678'))
console.log(reg15.test('0530-1234567'))
</script>