javascript中的正则表达式小结1

正则表达式总结创建正则对象: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}$/;

  1. \u4e00-\u9fa5 ↩︎

标签: 下划线