【JavaScript】正则表达式

	正则表达式,也不是第一次与它见面了。在我们学习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
五.学习感受
正则表达式的学习,在没有深入了解之前,就见识到了它的厉害之处。所以,很大程度上激发了自己的学习兴趣,很想做深入的了解。而在学习这部分内容的过程中,大体上没有什么困难的,有些不理解的通过实例自己去验证,去匹配,也就都解决了。正则表达式,很强大,很方便,很喜欢。

时间: 2024-09-14 02:03:24

【JavaScript】正则表达式的相关文章

javascript正则表达式的模式匹配

正则表达式,是一个描述字符模式的对象.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进行强大的模式匹配和文本检索与替换功能.javascript的正则表达式是perl5的这种表达式语法的大小子集,所以多有perl编程经验的程序员来说,学习javascript的正则表达式是小菜一碟. 本章首先介绍用以描述"文本模式"的正则表达式语法.随后讲解了使用表达式String和RegExp方法. 1.正则表达式的定义 javascri

javascript正则表达式学习

最近利用一周时间阅读了<精通正则表达式(第3版)>前6章,希望能够精通正则表达式,并且能够撰写<javascript深度理解正则表达式>这样的文章.一周时间太短,我自认为仅仅是达到了"不再畏惧"."更有信心"的程度,因而本文的目标只能是帮助读者"掌握"正则表达式. 我想正则表达式之所以难,主要体现在以下几个方面: 1)正则表达式的符号晦涩难懂 2)不支持排版(至少javascript目前还不支持) 3)不能设置断点,不能跟

JavaScript正则表达式中的global属性的使用

这篇文章主要介绍了详解JavaScript正则表达式中的global属性的使用,是JS学习进阶中的重要知识点,需要的朋友可以参考下 global是正则表达式对象的只读布尔属性.它指定是否一个特定的正则表达式进行全局匹配.否则它使用"g"属性创建. 语法 ? 1RegExpObject.global 下面是参数的详细信息: NA 返回值: 如果"g"修改被设置返回"TRUE",否则返回"FALSE". 例子: ? 1 2 3 4

JavaScript正则表达式中的ignoreCase属性使用详解

    这篇文章主要介绍了JavaScript正则表达式中的ignoreCase属性使用详解,是JS学习进阶中的重要知识点,需要的朋友可以参考下 ignoreCase是正则表达式对象的只读布尔属性.它指定是否一个特定的正则表达式执行不区分大小写的匹配.,它与"i"属性创建. 语法 ? 1 RegExpObject.ignoreCase        下面是参数的详细信息: NA 返回值: 如果"i"修改被设置返回"TRUE",否则返回"

JavaScript正则表达式之multiline属性的应用

        这篇文章主要介绍了JavaScript正则表达式之multiline属性的应用,是JS学习进阶中的重要知识,需要的朋友可以参考下             多行正则表达式是对象的只读布尔属性.它指定是否一个特定的正则表达式进行多行匹配,即,不管是否使用"m"属性创建. 语法 ? 1 RegExpObject.multiline 下面是参数的详细信息: NA 返回值: 如果"m"修改被设置返回"TRUE",否则返回"FALS

JavaScript正则表达式验证代码(推荐)

RegExp:是正则表达式(regular expression)的简写. 正则表达式描述了字符的模式对象.可以使用正则表达式来描述要检索的内容. 简单的模式可以是一个单独的字符.更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等等. //判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为

JavaScript正则表达式下之相关方法

上篇文章给大家介绍了JavaScript 正则表达式上之基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实例的几个属性 RegExp实例对象有五个属性 1.global:是否全局搜索,默认是false 2.ignoreCase:是否大小写敏感,默认是false 3.multiline:多行搜索,默认值是false 4.lastIndex:是当前表达式模式首次匹配内容中最后一个字符的下一个位置,

JavaScript正则表达式上之基本语法(推荐)

相关阅读: js正则表达式基本语法(精粹) 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 复制代码 代码如下: var reg=new RegExp('<%[^%>]+%>','g')

JavaScript正则表达式(总结篇)

本文是小编参考其他有关js正则表达式资料整理的,主要目的有两个:一:自我复习归纳总结.二:共享方便大家搜索 .js正则表达式感兴趣的朋友可以一起学习,没有写的知识点,欢迎大家补充,共同学习进步. 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+

javascript 正则表达式用法 小结_正则表达式

javascript正则表达式用法: 复制代码 代码如下: function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert("ok"); return true; } else { return false; } } //另一种写法 复制代码 代码如下: function checkreg(myreg,mytext) { var pattern = myreg; //或者 var pattern = new RegExp(