欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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}$/;