如何使用正则表达式
来源:互联网 发布:七五事件汉人反击 知乎 编辑:程序博客网 时间: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:
以上代码中的()或“,”均应该是英文模式下的括号和逗号,否则调试时是会报错的,望能多留心和注意。
- 如何使用正则表达式
- 如何使用正则表达式
- Python正则表达式:如何使用正则表达式
- JavaScript 如何使用正则表达式
- 如何使用正则表达式搜索
- Java如何使用正则表达式。
- 如何在Delphi中使用正则表达式
- 如何在 PHP 中使用正则表达式
- VB中如何使用正则表达式
- 如何在Delphi中使用正则表达式
- 在ACCESS中如何使用正则表达式
- VB6.0如何使用正则表达式
- 如何在javascript中使用正则表达式
- Ext中如何使用正则表达式?有分奖哦~~
- 如何在Delphi中使用正则表达式
- VB6.0如何使用正则表达式
- c#.net如何使用正则表达式
- VB6.0如何使用正则表达式
- OC中关于数组的介绍
- UART与USART(转)
- 线索二叉树的实现
- 位运算(一)
- Android学习之PhotoView在Eclipse上的使用
- 如何使用正则表达式
- 网络多线程-NSOperationQueue基本使用
- [Hadoop]HDFS shell命令
- sms4的简单实现(C语言版)
- 数据结构实验之图论八:欧拉回路
- Android音乐播放器
- Hello World 汇编语言版
- Linux发展历程、基本特点简介
- 网络多线程-NSOperation最大并发数