前言:正则对象 (Regular Expression)正则表达式是一种强大的字符串汽配工具,它是由普通字符和特殊字符构成的文字模式
作用:该文字模式是用来检测当前字符串是否符合你的这套文字模式,作用场景如-输入验证;输入数字
------------------
1、定义正则对象
var reg=new RegExp("正则表达式","修饰符");---构造函数语法var reg=/正则表达式/修饰符;---直接量语法
2、 修饰符
i 不区分大小写g 全局匹配/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
3、正则表达式的构成
元字符\w:匹配数字字母下划线\W:匹配非数字字母下划线\d:匹配数字\D:匹配非数字\s:匹配空白字符\S:匹配非空白字符. :匹配换行和行结束符以外的任意字符^ :匹配字符串开始$ :匹配字符串的结束\n:匹配换行符
4、方括号:用于查找某个范围内的字符
[]:匹配[]中罗列的单个字符[abc][\u4e00-\u9fa5][a-z][A-Z][0-9]<===>\d[a-z0-9_]<===>\w /\w/i /[a-z0-9_]/i new RegExp("[a-z0-9_]","i")[^]:匹配除了[]当中罗列的字符以为的单个字符 [^abc] [^a-c]
5、 限定符(量词):用来描述字符出现的次数
? :匹配0个或1个+ :匹配1个或多个{n}:匹配n个 /\d{5}/ /[0-9]{5}/{m,n}:匹配至少m个但是不能超过n个 /\d{6,10}/{m,}:匹配至少m个 + <===> {1,}
6、 分组和选择
() :分组 abcabcabc (abc){3}| :选择 aba abb aab bab aaa bbb... (a|b){3}aabbbb aaaaaa bbbbbb bbaabb ... ((aa)|(bb)){3}6-18个字符构成,可以使用字母数字下划线,但是必须以字母开头{6,18} \w ^[a-z]/^[a-zA-Z]\w{5,17}$/ /^[a-z]\w{5,17}$/i手机号:1 3/5/7/8 /^1[3578]\d{9}$/email:sakjdakjd @ zhcfdh . com\w+ @ [a-z]+ [.]或者\. (com)/^\w+@[a-z]+\.(com)$/i
------------------------------------------
5、常用正则表达式的String对象的方法
String.search(reg):检测与正则表达式相匹配的值,如果找到返回匹配的位置否则返回-1String.match(reg):找到一个或多个正则表达式的匹配,返回的是一个集合String.replace(reg):替换与正则表达式匹配的子字符串正则表达式在匹配的时候有一个特性:贪婪
6、RegExp对象的方法
RegExp.test(string):用于对某个字符串进行检测,如果符合正则表达式的一个匹配结果则返回true,否则就返回false只要字符串当中有一部分满足正则的话就返回true,所以在书写正则的时候必须要加上(^$)