正则表达式总结创建正则对象:var regex=new RegExp( d );
一般都用直接量,写法更简洁:var regex= d ;
test()方
正则表达式总结
- 创建正则对象:var regex=new RegExp(/\d/);
- 一般都用直接量,写法更简洁:var regex=/\d/;
- test()方法用来验证字符串是否符合规则,返回true和false
- regex.test('1');//true
- regex.test('a');//false
- regex.test('a1');//true 只要有我想要的就返回true
预定义类(需要记忆的东西)
- . 除了换行和回车之外的任意字符
- \d [0-9] 数字字符
- \D [^0-9]非数字字符
- \w [a-zA-Z0-9_] 单词字符和数字下划线
- \W [^a-zA-Z0-9_] 非单词字符
- \s [\f\r\n\t\v] 不可见字符space
- \S [^\f\r\n\t\v] 可见字符
例子(只要有我想要的就返回true)
- /chuan/.test('chuan');//true
- /chuan/.test('chuang');//ture
- /chuan/.test('chua');//false 可以多给,不能少给
基本语法补充
- | 或
- ()提高优先级
- /foot|boot/.test('foot');//true
- /(f|b)oot/.test('foot');//true
字符类
- [ ]
- ^ 非,取反
- '- '范围类
- /[a-f0-6]/.test('9');//false
- /[abc]/.test('a');//true 只要包含a或b或c都返回true
案例1(密码强度提示)
- 用onkeyup事件
精确匹配(限定便捷)
- ^写在中括号外边表示限定开头
- $限定结尾
- /^chuan$/.test('chuan');//true
- *星号限定0次或多次
- +加号限定1次或多次
- ?问号限定0次或一次
- /^a*$/.test('a');//true
- /^a*$/.test('aaaa');//true
- /^a*$/.test('');//true
- {}花括号限定自定义次数
- /^a{2}$/.test('aa');//true 前面的内容必须出现2次
- /^a{2,}$/.test('aaa');//true 必须出现>=2次
- /^a{2,5}$/.test('aaaaa');//true 出现2-5次
括号总结
- ()小括号表示分组和提高优先级
- [] 中括号表示一个字符的位置,里面写的是这个位置可以出现的内容
- {} 花括号表示自定义前面内容出现的次数
案例2(验证beijing座机010-12345678)
- onblur事件
- /^0\d\d-\d{8}$/;
案例3 验证汉字姓名
- 汉字的Unicode码范围[\u4e00-\u9fa5]
- 可以用unescape()方法显示汉字
- unescape('\u4e00');
- /[1]{2,4}$/;
\u4e00-\u9fa5 ↩︎