js中的正则表达式小结1
程序员文章站
2022-10-25 16:38:56
正则表达式总结 创建正则对象:var regex=new RegExp(/\d/); 一般都用直接量,写法更简洁:var regex=/\d/; test()方法用来验证字符串是否符合规则,返回true和false regex.test('1');//true regex.test('a');//f ......
正则表达式总结
- 创建正则对象: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');
- /^[\u4e00-\u9fa5]{2,4}$/;