js正则

2018-10-29  本文已影响0人  一个写前端的姑娘

今天就来屡屡js正则的那些事吧

正则对象的定义

  1. 构造函数方式
  1. 字面量方式
  1. 画重点,构造函数的字符串元字符需要转义,但是字面量的字符不需要转义

正则实例对象的属性

  1. global,布尔类型,表示正则表达式是否全局匹配,g
  2. ignoreCase,布尔类型,表示正则表达式是否忽略大小写,i
  3. multiline,布尔类型,表示正则表达式是否多匹配,m
  4. lastIndex,整数,表示开始搜索的位置,从0算起
  5. source,正则表达式的字符串表示

正则实例对象的方法

  1. exec(),接受一个参数,应用模式的字符串,然后返回包含第一个匹配信息的数组(在没有匹配的情况下返回null)
let text = "mom and dad and baby"
let pattern = /mom( and dad( and baby)?)?/gi
let match = pattern.exec(text)
console.log(match)
  1. test(),接受一个字符串参数,返回ture或者false
let text = "000-00-0000"
var pattern = /\d{3}-\d{2}-\d{4}/
console.log(pattern.test(text))  // true
  1. 除了正则对象的一些方法,字符串的一些方法参数中也可以使用正则表达式,
    string类型的search()、match()、split()、replace()等方法传入的参数也可以是正则,详情请见js中string类型基本用法

常用的正则匹配

  1. 整数或者小数:
    ^[0-9]+\.{0,1}[0-9]{0,2}$
  2. 只能输入数字:
    ^[0-9]*$
  3. 只能输入n位的数字:
    ^\d{n}$
  4. 只能输入至少n位的数字:
    ^\d{n,}$
  5. 只能输入m~n位的数字:
    ^\d{m,n}$
  6. 只能输入有两位小数的正实数:
    ^[0-9]+(.[0-9]{2})?$
  7. 只能输入有1~3位小数的正实数:
    ^[0-9]+(.[0-9]{1,3})?$
  8. 只能输入非零的正整数:
    ^\+?[1-9][0-9]*$
  9. 只能输入非零的负整数:
    ^\-[1-9][]0-9*$
  10. 只能输入长度为3的字符:
    ^.{3}$
  11. 只能输入由26个英文字母组成的字符串:
    ^[A-Za-z]+$
  12. 只能输入由26个大写英文字母组成的字符串:
    ^[A-Z]+$
  13. 只能输入由26个小写英文字母组成的字符串:
    ^[a-z]+$
  14. 只能输入由数字和26个英文字母组成的字符串:
    ^[A-Za-z0-9]+$
  15. 只能输入由数字、26个英文字母或者下划线组成的字符串:
    ^\w+$
  16. 只能输入汉字:
    ^[\u4e00-\u9fa5]{0,}$
  17. 验证Email地址:
    ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  18. 验证InternetURL:
    ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
  19. 验证电话号码:
    ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
    正确格式为:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
  20. 验证身份证号(15位或18位数字):
    ^\d{15}|\d{18}$

感谢您的view,留个赞再走呗

上一篇 下一篇

猜你喜欢

热点阅读