博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JavaScript】正则表达式
阅读量:5789 次
发布时间:2019-06-18

本文共 1716 字,大约阅读时间需要 5 分钟。

正则表达式,也不是第一次与它见面了。在我们学习ASP.NET视频的时候,验证控件的那个实例中,就有提到过它。那个时候,都是在控件的属性中自己设置的,用的原理就是正则表达式,当时得感觉就是方便,强大,给我们带来了很大的便利。这一次,就是对正则表达式的深入学习了。	一.什么是正则表达式	正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript的RegExp类表示正则表达式。	正则表达式主要用来验证客户端的输入数据。因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。	假设用户需要在HTML表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScript程序会检查表单以确认用户输入了信息并且这些信息是符合要求的。	二.创建正则表达式	创建正则表达式提供了两种方法,一种是采用new运算符,一种是采用字面量方式。	1.两种创建方式	var box = new RegExp('box');   		//new的方法	var box = /box/;                        //字面量的方法	2.测试正则表达式	RegExp对象包含两种方法用于测试字符串匹配,test()和exec().	test()方法在字符串中查找是否存在制定的正则表达式并返回布尔值,如果存在则返回true,不存在返回false;	exec()方法也用于在字符串中查找制定正则表达式,如果执行成功,返回包含该查找字符串的相关信息数组,执行失败,返回null。	3.String对象使用正则表达式的4个方法
 
  • match方法获取匹配数组
  • replace方法替换匹配到的数据
  • search方法查找匹配数组
  • split方法拆分成字符串数组
三.获取控制 光从这个名称来看,一点也不知道这里讲的应该会是写什么。所以直接从后面的例子及实现出发,看看它究竟是什么。 实例1 var pattern =/g..gle/;        //点符号表示匹配除了换行符外的任意字符 var str='g12gle'; alert(pattern.test(str));    //返回的结果为true 实例2: var pattern =/go*gle/;      //o*,表示0个,1个,或者多个o   var str='gbbbgle';   alert(pattern.test(str));   //返回的结果为false 实例3: var pattern =/g.?gle/;      //.?,表示1个,或者0个的任意字符 var str='gbbgle'; alert(pattern.test(str));   //返回的结果为true 这样看来,获取控制其实是通过各种特殊字符从而去验证是否能与字符串相匹配。因为有些信息的验证并不是唯一的,比如说,我们验证用户的联系方式是否输入合理,我们不能把联系方式写死了,每个用户的信息都是不一样的,这时候,就需要运用各种字符,字符的表示含义扩大了,从而去与用户的信息相匹配就变得灵活了。 下面将举几个常用的正则中就有用到这部分的内容,从实例看,或许就更清楚了。 四.常用的正则 1.检查邮政编码 var pattern = /[1-9][0-9]{5}/;  //共六位数字,第一位不能为0 var str ='224000'; alert(pattern.test(str));            //返回的结果为true 2.检查文件压缩包 var pattern =/[\w]+\.zip|rar|gz/;    //\w表示所有数字和字母加下划线 var str = '123.zip';                      //\.表示匹配,后面是一个选择 alert(pattern.test(str));                //返回的结果为true 五.学习感受 正则表达式的学习,在没有深入了解之前,就见识到了它的厉害之处。所以,很大程度上激发了自己的学习兴趣,很想做深入的了解。而在学习这部分内容的过程中,大体上没有什么困难的,有些不理解的通过实例自己去验证,去匹配,也就都解决了。正则表达式,很强大,很方便,很喜欢。

转载地址:http://qgqyx.baihongyu.com/

你可能感兴趣的文章
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>
Java利用httpasyncclient进行异步HTTP请求
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Python version 2.7 required, which was not foun...
查看>>
context:annotation-config vs component-scan
查看>>
经典sql
查看>>
CSS3边框会动的信封
查看>>
JavaWeb实例设计思路(订单管理系统)
查看>>
source insight中的快捷键总结
查看>>
PC-IIS因为端口问题报错的解决方法
查看>>
java四种线程池简介,使用
查看>>
ios View之间的切换 屏幕旋转
查看>>
typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
查看>>
jsp 特殊标签
查看>>
[BZOJ] 1012 [JSOI2008]最大数maxnumber
查看>>