一份自己总结的js正则表达式学习笔记
js之正则表达式学习1
我们在开发一些项目中经常会遇到正则验证,比如验证邮箱,手机号码等等,没有系统学习正则表达式前,我只能去网上找一些插件改一下代码来完成工作,但总觉得不够灵活.所以下决心认真学习正则表达式,下面会通过一些例子一起来学习.
我们通过下面这个函数来进行练习
<scripttype="text/javascript">
functionexecreg(reg,str){
varresult=reg.exec(str);alert(result);
}
varreg=/test/;varstr="testString";
execreg(reg,str);
</script>
str表示为执行正则的目标字符串,执行此函数打印出的result就是匹配结果,根据测试,上述例子结果是匹配test
再看下面这个例子
<scripttype="text/javascript">
functionexecreg(reg,str){
varresult=reg.exec(str);
alert(result);
}
varreg=/b{1}/;
varstr="back";
execreg(reg,str);
</script>
上述代码匹配的结果是b.
这里用到的一个知识点就是匹配个数,{1}表示匹配一个,/b{1}/即表达匹配一个b,/b{n}/表示匹配n个b,如果将上述代码{1}改为{2},则输出null,表示匹配不成功.同理,如果改成如下代码:
<scripttype="text/javascript">
functionexecreg(reg,str){
varresult=reg.exec(str);
alert(result);
}
varreg=/b{2}/;
varstr="bbck";
execreg(reg,str);
</script>
则输出bb.
连续匹配多个还有另外一种用法,b{m,n},匹配m到n个b,如b{3,7}