今天学习了JavaScript的正则表达式,知识点有些多,在此写一遍加深印象,并与大家分享,以下全是个人理解,欢迎大家指正。
正则表达式的作用及意义
· 正则表达式主要对字符串定义一个规则并让计算机根据这个规则来对字符串进行操作,如:检查字符串其中的字符,替换其中字符,查找字符,分割字符等,应用在如再让用户输入邮箱或者电话号码时,用户提供了非法输入,如不予以正则表达式进行判读,则会将错误的信息传入数据库中
正则表达式的定义及书写(构造函数定义及字面量定义)
构造函数定义:var 变量=new RegExp("","");
var reg=new RegExp("","")//以构造函数定义正则表达式,第一个参数传入的就是正则表达式,第二个参数传入的是匹配模式
匹配模式分为i和g两种,i为忽略大小写即在测试时当正则表达式是一个字母时,在test里的字符串无论是大写还是小写最终结果都会返回true.g为全局匹配模式,即在对字符串进行操作的时候是对整个字符串进行的
字面量定义:var 变量=/正则表达式/匹配模式;
var reg=/regexp/i//定义一个正则表达式,且测试时忽略大小写
常用的正则表达式方法
test()用于检测参数里的字符串和定义的正则表达式的字符串在其模式下是否匹配
var reg=/regexp/;
console.log(reg.test("r")); //true 检测reg里是否含有字符“r”
如果我们想检查是否有r这个字母无论大小写,则应将代码修改为:
var reg=/regexp/i;
如果我们想检查字符串中是否有r或者e字符则可以用运算符|来运算:
//没有改变之前
var reg=/re/
console.log(reg.test("rabc")) //false 此表达式是检测是否有“re”这个字符串
var reg=/r|e/;
console.log(reg.test("rst")) //true
console.log(reg.test()"abc") //false