正则表达式,RegularExpression 又称规则表达式,正则表达式是对字符串操作的一种逻辑公式,用于定义一些字符串的规则
-
计算机可以根据正则表达式,来检查一个字符串是否符合规则
-
可以使用正则表达式将字符串中符合规则的内容提取出来
JavaScript中正则表达式的使用
创建正则表达式的对象
语法: var 变量 = new RegExp( " 正则表达式 " , " 匹配模式 " );
简易语法: var 变量=/正则表达式/匹配模式
var reg=/ \. /; == var reg=new RegExp("\\.");
var reg=/ \\ /; == var reg=new RegExp("\\\");
使用typeof检查正则对象,会返回object
最简单的用法:var reg=new RegExp(“a”); 这个正则表达式可以用来检查一个字符串中是否含有a
构造函数中可以传递一个匹配模式作为第二个参数
i 忽略大小写 g 全局匹配模式 匹配模式的顺序无所谓
正则表达式的方法:
-test( ) 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false
语法:xxx.test(yyy); xxx表示一个正则表达式的对象,yyy表示需要检查的对象
相关语法:
-使用“|”表示或者的意思
例如 var reg=/a|b|c/ 可用于检查字符串中是否包括字母a或者b或者c
-[ ]里的内容也是或的关系
例如,[ab] == a|b [ a-z ]表示任意小写字母,[ A-Z ]表示任意大写字母,[ A-z ]表示小写字母和大写字母,[ 0-9 ]表示任意数字
检查一个字符串中是否含有abc或者adc或者aec -> /a[bde]c/
-[^ ] 表示除了 例如 /[^ab]/ /[^0-9]/
-量词{ }
通过量词可以设置一个内容出现的次数,量词只对它前边的一个内容起作用
{n}正好出现n次 {m.n}出现m-n次 {m,}m次以上 + 至少一个,相当于{1,}
* 0个或多个,相当于{0,} ? 0个或1个,相当于{0,1}
-检查一个字符串是否以a开头 /^a/
-检查一个字符串是否以a结尾 /a$/
-如果在正则表达式中同时使用^ $,则要求字符串必须完全符合正则表达式
创建一个正则表达式,用来检查一个字符串是否是一个合法手机号
规则:1.以1开头 2.第二位为3-9任意数字 3.三位 以后任意数字9个
^1 [3-9] [0-9]{9}$ var phoneReg = /^1[3-9][0-9]{9}$/;
- “.” 表示任意字符,在正则表达式中使用\作为转义字符,即"\."检查字符串中是否包含.
例如:去除用户名str前后的空格,中间的空格不管
去除开头的空格 str=str.replace("/^\s*/","");
去除结尾的空格 str=str.replace("/\s*$/","");
匹配开头和结尾的空格 str=str.replace("/^\s*|\s*$/g","");
例如:邮箱的正则
任意字母数字下划线 .任意字母数字下划线 @ 任意字母数字 .任意字母(2-5位) .任意字母(2-5位)
\w{3,} (\.\w+)* @ [A-z0-9]+ (.[A-z]{2,5}){1,2}
var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"
A-z]{2,5}){1,2}
var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"