如何使用正则表达式

来源:互联网 发布:七五事件汉人反击 知乎 编辑:程序博客网 时间:2024/05/06 01:21

    在js中,该如何使用正则表达式来对表单进行验证呢?相信小伙伴们在学习的过程中定碰到了这样的问题。举个实际一点儿的栗子,譬如邮箱这样的表单该如何验证呢?下面就来进行介绍,看完本博客,相信你能就能独自完成用正则表达式来进行表单验证了。

    1、首先我们要了解正则表达式中常见的符号以及所表示的意思,如\w、\s/、\W、\S它们表示什么。如果不熟悉这些符号,我们是无法完成对正则表达式的操控的,附上一张表供大家学习。

    2、除了一表要了解以外,还有表二的正则表达式重复字符也得了解

    ############################################################################################

分割线

具体实现:

    通过表一、表二我们就可以实现对邮箱的正则表达式验证了。以一个具体实例进行展示。譬如我们现在要对 

missyou_1993@qq.com 这个邮箱进行验证。分析

1、先进行拆分

    由其邮箱结构我们可依据‘@’和'.'将该邮箱分为3部分,然后分别进行匹配。即missyou_1993、qq、com三部分。显然missyou_1993部分可用\w进行匹配,qq这部分也得用\w进行匹配,比较特殊的就是com部分了,由于末尾的域名只会包含com、cn这些字符,并不会出现数字或者下划线,因此需要对其进行限制。com匹配部分为[a-zA-z](表示只能出现a到z或A到Z的英文字母)。

2、次数的确定

    显然,对于第一部分和第二部分,字符出现的个数至少为一次,因此可以用“+”表示,“.”后面的字符,一般是.com或.cn域名,因此出现的字符数为2至3个,因此可用{2,3}表示。综合可知:

第一、二部分为:\w+     第三部分为:[a-zA-Z]{2,3},于是表达式变为  \w+@\w+.[a-zA-Z]{2,3}

3、对于特殊字符,应进行转义处理,如邮箱中的那个点需要转义成  \.  于是表达式变为 \w+@\w+\.[a-zA-Z]{2,3}

4、加上起始和终止符符  ^ 、$  于是表达式成为    ^\w+@\w+\.[a-zA-Z]{2,3}$

5、加上模式符/....../   于是表达式成为     /^\w+@\w+\.[a-zA-Z]{2,3}$/

你以为酱紫就完了吗?too naïve,作为一只程序猿,而不是XX狗,我们考虑问题得全面一些。你想想,难道电子邮箱难道就只有  xxx@xxx.com 这种形式吗?  这种有木有   xxx@xxxx.com.cn?( 雅虎的邮箱就是那一种)。因此,我们还需要对上述正则表达式进行修改,那怎样才能比较好地解决呢。。。。不就是让.com或.cn它们出现一次或者两次吗,有没有想到这个{1,2}?





咳咳咳。。。那就公布修改过后的的正则表达式:  /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/


话说不要将括号放错位置哟

######################################################分割一下  Tips:

以上代码中的()或“,”均应该是英文模式下的括号和逗号,否则调试时是会报错的,望能多留心和注意。






0 0
原创粉丝点击