大家肯定都知道正则是个什么东西,我就不多说了,大多也都用过,可是一提起来你会写正则吗,我想很多人都感觉这个正则挺复杂(估计有一半的程序员到现在还没自己亲自写过正则),正则要记那么多匹配符还要学习语法,因此停留在应用阶段,用的时候网上找个就O了,我当初也这么想地,直到那一天,开始打算学学正则,心想一次学习,终生受益。
早有学学正则想法,当时只是刚开始学编程,看了后实在是一时理解不了,另又有那么多要记的符号,搞的头晕,后来作罢。近日项目测试,测试人员提了一个bug,关于电话验证号码问题。随即网上找了一个正则写了上去。第二天复测,没通过,说是要求可以输入手机号、固定电话,固定电话并且可以输入分机号,中间以空格或者横杠斜杠隔开。网上又开始找找找,找来找去,要不是手机号验证的,电话验证分开验证的,并且还没有那种可以用空格或者横杠斜杠隔开的例子,没有一个可以用的,实在无耐,没办法自己不懂正则,只好临阵磨枪了,打算晚上回去看看正则。
网上下了个教程研究了一会,自己写了一个,测试了下,终于OK了。现在看的时候很快就理解了,不像当初看的时候半懂不懂的。教程是个名为deerchao的人写的,教程名称是 ”正则表达式30分钟入门教程“,一个不错的入门教程,之前了解过一点正则的人,学习起来很快的,下面那个例子学习加上测试差不多一个小时的时间。
总共写了三个,正则中可以把多个正则放在一起中间用|分开,类似于或者的关系,会从左边开始匹配第一个正则,匹配成功则不会匹配后面的两个,否则继续依次向后匹配。
function checkTel(phone)
{
//校验电话号码 支持010-12345671/1234 0370-12345512-1234 15811337234
var reg=/^0\d{2,3}[/ -]?(\d{6,8})$|^0\d{2,3}[/ -]?\d{6,8}[/ -]\d{3,4}$|^1[3|4|5|6|7|8][0-9]\d{8}$/;
var isValid;
isValid=reg.test(phone);
if (!isValid) {
return false;
}
return true
}
另外javaScript中,
每个JavaScript字符串都可以通过三种方法来支持正则表达式,分别是match()、replace()和search(),而且对象的test() 方法是我们进行测试用的,上面的例子就是用test()的。下而是关于match()、replace()和search()方法的相关说明:
match(): 用于正则表达式匹配,如果多个匹配出现,则返回一个含有所有匹配结果的数组,数组中的每一个条目都是一份包含了匹配数据的拷贝;如果没有匹配值,则返回空值。
replace(): 用于正则表达式匹配并将所有的匹配值替换为新的子字符串,本方法的第一个参数是正则表达式,第二个参数是进行替换的字符串。
search(): 用于在正则表达式与指定字符串之间搜索匹配值,如果出现匹配值,则返回字符串的索引值,如果没有匹配值,则返回-1。
正则里面其它用法和一些匹配符可以自己找找看看。
总体来说,正则学习起来还不是那么复杂困难,对一般的验证应用是足够了,学习时候下载一个正则验证工具还是不错的,可以快速校验你的正则表达式。不会写正则的程序兄弟们花一个小时的时间学习学习吧。
分享到:
相关推荐
正则表表达式对于很多人都很揪心,像我一样,希望这份资料对你们有帮助,比较偏基础,自己也可以照着实例敲一下,大牛之路很漫长啊
javascript正则表达式入门学习实例入门
NULL 博文链接:https://jeffreyqiu.iteye.com/blog/1738371
JavaScript正则表达式学习资料笔记 很适合初学者,讲的非常详细、全面。
正则表达式学习笔记,内容详细容易操作,sqlserver java js c++
北风网正则表达式详细讲解学习笔记,讲解的比较基础适合初学者学习。
这个是在学习JavaScript正则表达式时写的一些demo和笔记,为了与博客的内容相结合,所以上传这份附件,在看博客的同时下载这份附件同步学习,事半功倍
代码如下: var str=”... //返回一个数组,每一项都匹配表达式的数组—[a,a,a] 注意正则一定要使用g全局变量 alert(str.search(re)) //返回匹配的正则第一次出现的位置从0开始,没有找到返回
为大家分享了一份很详细的js正则表达式学习笔记,包括了理论知识和实例讲解,结合实例对js正则表达式进行了学习,感兴趣的小伙伴们可以参考一下
JavaScript学习笔记包括正则表达式、异常处理、调试、关键字等
. 匹配除换行符的任意字符 \w 匹配字母,数字,下划线,汉字 \s 匹配任意空白符 \d ...重复一次或更多次 ...重复零次或一次 ... 您可能感兴趣的文章:Java/Js下使用正则表达式匹配嵌套Html标签js 正则表达式
正则表达式学习笔记 微信小程序学习笔记 前端部署相关笔记 前端UI库使用记录笔记 前端JS工具库使用笔记 Webpack学习笔记 Vue笔记整合 UmiJS笔记 TypeScrip笔记 Scss笔记 React笔记 ReactHooks笔记 Promise学习笔记 ...
javascript学习笔记,包括基本语法、面向对象、正则表达式、dom的所有操作
php正则表达式学习笔记分享: 1.创建正则表达式 $regex = ‘/\d/i’; 与JavaScript中的第一个方式有点像,只是这里的话是个字符串。 2.正则表达式中的特殊字符 特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < ...
主要介绍了js 正则表达式匹配字符串,需要的朋友可以参考下
此笔记包含了前端代码规范、前端工具使用笔记、Ajax、Axios学习笔记、Chrome开发使用及学习...JS工具库使用笔记、前端UI库使用记录笔记、前端安全学习笔记、前端部署相关笔记、微信小程序学习笔记、正则表达式学习笔记