正则表达式:使用单个字符串来描述,匹配一系列符合某个语法规则的字符串
实例化RexExp语法 :
1. var reg = /此处为正则表达式/; eg: var reg = /\d{4}/
2. var ref = new (‘此处为正则表达式’) eg: var reg = new(‘\d{4}’)
正则表达式语法概念
正则表达式由两种基本字符类型组成 :原义文本字符(就是字符本身,如123),元字符(有特殊含义的,如\d).
字符串类:用元字符[]构建类,如[abc]即为取出所有abc字符。它的取反操作为[^].
范围类:如[a-zA-Z],可用-来匹配某个区间的字符,若类中要匹配-这个字符,则这样写[a-z-]。
预定义类:看到\w我若有所思,这用来做用户密码之类的验证会有多方便….(抱歉在此之前我都是手动写的)。记忆方法:digit 数字 \d, space空白 \s,word字母 \w
边界:
量词:适用场景(如要匹配一个连续出现5次数字的字符串),作用于前一个字符。
默认贪婪模式,即尽可能多的匹配,若想设置为非贪婪,则只需在量词后跟?
分组:()适用于匹配字符串hua出现3次的场景,显然hua{3}会错。用(hua){3}。
或: | 如h(u|a)n
反向引用:适用场景如下 $1等用来捕获分组里的呢容,忽略分组则在分组内加?: 如(?:hua)
前瞻
常见正则解读
1. var a = /^1[0-9]{10}$/; //以1开头,以10个数字结尾 用于粗略的11位手机号验证