正则表达式
发布时间: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> 四、测试正则表达式
<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> 小结: 不怕不知道,就怕不知道。见得多了,总结多了,也就知道了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |