JavaScript中RegExp_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3827 | 回复: 0   主题: JavaScript中RegExp        下一篇 
lusxingbao
注册用户
等级:少校
经验:1487
发帖:100
精华:0
注册:2012-11-12
状态:离线
发送短消息息给lusxingbao 加好友    发送短消息息给lusxingbao 发消息
发表于: IP:您无权察看 2012-11-15 17:05:41 | [全部帖] [楼主帖] 楼主

JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个

RegExp实例。有两种方式可以创建RegExp对象的实例。  
1、使用RegExp的显式构造函数,语法为new Regexp("patterm”[,"flags"]).  
2、使用RegExp的隐式构造函数,采用纯文本格式:/patterm/[flags]。  
pattern部分为要使用的正则表式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符

串的形式存在,需要使用双引号或单引号括起来;在第二种方式中,patterm部分嵌套在两个“/”之间,不能

使用引号。   flags部分设置正则表达式的标志信息,是可选项。如果设置flags部分,在第一种方式中,

以字符串的形式存在;在第二种方式中,以文本的形式紧接在最后一个"/"字符之后flags可以是以下标志字

符的组合。  
1、g是全局标志。如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分

起作用。如果不设置这个标志,进行匹配比较时,将忽略大小写。  
2、i是忽略大小写标志。如果设置了这个标志,进行匹配比较时,将忽略大小写。  
3、m是多行标志。如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元

字符“$”只与被搜索字符串的结束位置相匹配。如果设置了这个标志,“^”还可以与被搜索字符串的“\n” 或“

\r”之后的位置(即下一行的行首)相匹配,而“$”还可以被搜索字符串中的“\n”或“\r”之后的位置(即下一

行的行尾)相匹配。  
RegExp方法:
exec 方法
用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。

rgExp.exec(str)


参数

rgExp


必选项。包含正则表达式模式和可用标志的正则表达式对象。

str


必选项。要在其中执行查找的 String 对象或字符串文字。
说明
如果 exec 方法没有找到匹配,则它返回 null。如果它找到匹配,则 exec 方法返回一个数组,并且更新

全局 RegExp 对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是

匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match 方法。
如果为正则表达式设置了全局标志,exec 从以 lastIndex 的值指示的位置开始查找。如果没有设置全局

标志,exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。
exec 方法返回的数组有三个属性,分别是 input、index 和 lastIndex。Input属性包含了整个被查找的

字符串。Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex 属性中包含了匹

配中最后一个字符的下一个位置。

match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。

search 方法
返回与正则表达式查找内容匹配的第一个子字符串的位置。

stringObj.search(rgExp)


参数

stringObj


必选项。要在其上进行查找的 String 对象或字符串文字。

rgExp


必选项。包含正则表达式模式和可用标志的正则表达式对象。
说明
search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹

配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1。

test 方法
返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。

rgexp.test(str)


参数

rgexp


必选项。包含正则表达式模式或可用标志的正则表达式对象。

str


必选项。要在其上测试查找的字符串。
说明
test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。
全局 RegExp 对象的属性不由 test 方法来修改。

split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([separator[, limit]])


参数

stringObj


必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

separator


可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项

,返回包含整个字符串的单一元素数组。

limit


可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。

separator 不作为任何数组元素的部分返回。

示例
下面的例子举例说明了 test 方法的用法:

var reg =new RegExp("^(13|15)[0-9]{9}"); //里面的正则表达式不完整
var txt1=document.getElementById("txt1").value; //拿出文本框的值
if(reg.test(txt1)){ //调用方法
      alert("填写的是移动号码");
}else{
alert("填写的不是移动号码");
}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论