加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 22:10:10 所属栏目:百科 来源:网络整理
导读:span style="font-size:18px;"strong一、产生原因和背景/strong/span span style="font-size:18px;" 大家都知道,在程序开发的过程中,难免会遇到需要匹配、查找、判断字符串的情况发生,验证客户端的输入数据,用户填写完正则表达式之后,表单就会被发送到
<span style="font-size:18px;"><strong>一、产生原因和背景</strong></span>
<span style="font-size:18px;">   大家都知道,在程序开发的过程中,难免会遇到需要匹配、查找、判断字符串的情况发生,验证客户端的输入数据,用户填写完正则表达式之后,表单就会被发送到服务器。在服务器端通常会用ASP.Net等服务端脚本对其进行进一步的处理,因为客户端验证,可以节省大量的服务端的系统资源,并且能够提供更好的用户体验。所以JS就 引进了正则表达式来把一些数据的基础性的验证(比如邮件的格式是否正确、是否是数字输入等)方法在客户端,而服务器就只是进行单击按钮之后的验证,这样就大大减少了服务器的负担,同时也提高了用户良好的满意度。</span>
<span style="font-size:18px;"><strong>二、具体原理:</strong></span>
<span style="font-size:18px;">   正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a-Z )以及特殊字符组成的文字模式,它用于描述在查找文字主体的一个或者多个字符串,正则表达式作为一个模板,将某个字符与所搜索的字符串进行匹配。</span>
<span style="font-size:18px;"><strong>三、如何创建</strong></span>
<span style="font-size:18px;">两种方式:</span>
<span style="font-size:18px;"><strong>1、用New关键字创建</strong></span>
<span style="font-size:18px;"><pre name="code" class="html">var box = new RegExp('box');</span>
2、采用字面量方式
<span style="font-size:18px;">Var box =/box/;</span>

四、测试正则表达式
RegExp 包含两个方法:Test() 和exec(),功能基本上相似,用于测试字符串匹配,Test()方法在字符串中查找是否存在指定的正则表达式,并且返回布尔值,如果存在则返回true,不存在就返回False。

<span style="font-size:18px;">		var pattern= /Box/i;  //不区分大小写匹配
		   var str = 'This is a box';
		   alert(pattern.test(str));
</span>
Exec()方法也用于在字符串中查找指定正则表达式,如果Exec()方法执行成功,则返回包含查找字符串的相关信息数组。如果失败,就返回NUll。
<span style="font-size:18px;">var pattern = /box /i;
 var str = "This is a Box ";
alert(pattern.exec(str));</span>

五、String 其它4个正则表达式



下面是一些具体例子的使用:

<span style="font-size:18px;">    //使用Match方法获取匹配数组
var pattern = /box /ig;                    //全局搜索
var str = 'This is a Box!,That is a Box too';
 alert(str.match (pattern))    ;      //可以匹配到两个Box
 alert(str.match(pattern).length);       //获取数组的长度  </span>
<span style="font-size:18px;">   /*使用repalace替换匹配到的数据*/
   var pattern = /box/ig;
   var str= 'This is a Box,! That is a Box too';
   alert(str.replace(pattern,'Tom'));      //将Box替换成为了Tom</span>
运行效果:





<span style="font-size:18px;">   /*使用repalace替换匹配到的数据*/
   var pattern = /box/ig;
    var str= 'This is a Box,! That is a Box too';
   alert(str.search(pattern)); //查找到返回位置,否则返回-1</span>
六、获取控制

正则表达式是包含特殊含义的字符,他们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的 元字符将失去特殊含义。

主要有:匹配任意一个字符,匹配0个或者多个字符,贪婪和惰性等。具体的不再写了,参见课本具体内容。

七、常用的正则

<span style="font-size:18px;"> //验证电子邮件
 var  pattern= /^([w.-]+)@([w.-]+).([w]{2,4})$/;
  var str ='yc60.com@gmail.com';
 alert(pattern.test (str) );
	</span>

<span style="font-size:18px;">  /* 检查邮政编码是否符合规范*/
 var  pattern= /[1-9][0-9]{5}/;  //一共6位数字,第一位不能够是0
var str=' 024000';                   //先写出需要验证的变量
 alert( pattern .test (str));       //因为第一位是0,不符合正则表达式,所以返回是False
		</span>

小结:

不怕不知道,就怕不知道。见得多了,总结多了,也就知道了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读