JavaScript之正则表达式
来源:互联网 发布:重庆双诚网络是培 编辑:程序博客网 时间:2024/05/21 18:39
正则表达式(regular expression)简称regex,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式主要用来验证客户端的输入数据。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
一、创建正则表达式:
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;">var box =new RegExp('box');//第一个参数字符串var box=new RegExp('box','ig');//第二个参数可选模式修饰符</span></strong></span></strong>
2、字面量方式
<strong><strong>var box=/box/;//直接用两个反斜杠var box=/box/ig;//在第二个斜杠后面加上模式修饰符</strong></strong>
RegExp对象包含两个方法:test()和exec()
1、test()
test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值,如果存在则返回true,不存在则返回false。
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><html><body><script type="text/javascript">var box=new RegExp("e");document.write(box.test("The best things in life are free"));</script></body></html></span></strong></span></strong>
exec()方法也用于在字符串中查找指定正则表达式,如果exec()方法执行成功,则返回包含该查找字符串的相关信息数组。如果执行失败,则返回null。
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><html><body><script type="text/javascript">var box=new RegExp("e");document.write(box.exec("The best things in life are free"));</script></body></html></span></strong></span></strong>
三、String对象中的正则表达式方法
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><!doctype html><html><head><meta charset="utf-8"><title>replace/match</title></head><script language="javascript" type="text/javascript">var str="Windows 是一个很优秀的系统,我喜欢Windows!";alert(str);</script><body></body></html></span></strong></span></strong>
1、match
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;"><!doctype html><html><head><meta charset="utf-8"><title>replace/match</title></head><script language="javascript" type="text/javascript">var str="Windows 是一个很优秀的系统,我喜欢Windows!";//定义变量regvar reg=/Windows/g;/*var tmp=str.replace(reg,"Linux");alert(tmp);*/var found=str.match(reg);alert(found);</script><body></body></html></span></strong></span></strong>
2、replace
<strong><strong><!doctype html><html><head><meta charset="utf-8"><title>replace/match</title></head><script language="javascript" type="text/javascript">var str="Windows 是一个很优秀的系统,我喜欢Windows!";//定义变量regvar reg=/Windows/g;var tmp=str.replace(reg,"Linux");alert(tmp);</script><body></body></html></strong></strong>
四、贪婪和惰性:
贪婪:先匹配整个字符串,然后从右往左,不匹配就舍去一个 ...
惰性:从左往右匹配,第一个不匹配就再加第二个...
<strong><strong>var pattern=/[a-z]+?/;/?号关闭了贪婪匹配,只替换了第一个var str='abcdefjhijklmnopqrstuvwxyz';var result=str.replace(pattern,'xxx');alert(result);</strong></strong>
禁止贪婪的两种形式:
<strong><strong>var pattern=/8(.+?)8/g;//禁止了贪婪,开启的全局var str='This is 8google8,That is 8google8,There is 8google8';var result=str.replace(pattern,'<strong>$1<strong>');document.write(result);</strong></strong>
<strong><strong>var pattern=/8([^8]*)8/g;//另一种禁止贪婪var str='This is 8google8,That is 8google8,There is 8google8';var result=str.replace(pattern,'<strong>$1</strong>');document.write(result);</strong></strong>
总结:
常用到的正则表达式有检查邮政编码,删除多余空格,简单的电子邮件验证等等。正则表达式的灵活性、逻辑性和功能性非常的强;可以迅速地用极简单的方式达到字符串的复杂控制,同时可以节约大量的服务器端的系统资源,并且提供更好的用户体验。
2 0
- javascript之正则表达式
- javascript之正则表达式
- javascript之正则表达式
- JavaScript之正则表达式
- javascript之正则表达式
- JAVAscript之正则表达式
- javascript之正则表达式
- JavaScript之正则表达式
- JavaScript之正则表达式
- JavaScript之正则表达式
- JavaScript之正则表达式
- JavaScript之正则表达式
- JavaScript之正则表达式
- javascript之正则表达式
- javascript之正则表达式
- JavaScript之正则表达式
- javaScript之正则表达式
- Javascript之常用正则表达式
- 【LeetCode】Search in Rotated Sorted Array II 解题报告
- Android NDK开发(一)环境搭建及运行示例
- 游戏中的随机间隔
- 【深入浅出IOS开发】UITabBarController和UINavigationController混合使用
- linux main.c中的初始化
- JavaScript之正则表达式
- 简单工厂模式
- Netstat
- leetcode_num155_Min Stack
- unity脚本自带函数执行顺序
- 算法导论:插入排序java实现
- Linux System V信号量&POSIX信号量
- linux mmap
- .NET MVC4环境下,SqlSever数据库的配置与连接方法。