JavaScript正则表达式exec和test方法

<script LANGUAGE="javascript">
var u="http://msdn.microsoft.com:80/scripting/default.htm";
var s=/(/w+):([^/:]+)(:/d*)?([^# ]*)/;
var a=s.exec(u);
for(i=1;i<a.length;i++){
alert(a[i]);
}
</script>
将该正则表达式应用于上面所示的URL后,子匹配包含下述内容:
a[1] 包含 "http"
a[2] 包含 "msdn.microsoft.com"
a[3] 包含 ":80"
a[4] 包含 "/scripting/default.htm"
(也可以用RegExp.$1、RegExp.$2、RegExp.$3、RegExp.$4取值)
<script LANGUAGE="javascript">
function checkMobile( s )...{
var regu =/^[1][3][0-9]...{9}$/;
var re = new RegExp(regu);
return re.test(s);
}
checkMobile('13909910000');
</script>

用途:检查输入手机号码是否正确,如果通过验证返回true,否则返回false

正则表达式的创建,有2种办法:
var my_regex=/[a-z]+/g;
var my_regex=new (”[a-z]+”,"g”);

方法
exec(string): 对string进行正则处理,并返回匹配结果.
exec方法返回的数组有3个属性,分别是input、index和lastIndex 。
1 input 属性是整个被搜索的字符串。
2 index属性是指匹配在整个被搜索字符串中的位置。
3 lastIndex 属性是指匹配的子字符串的最后一个字符的下一个字符位置。

test(string): 测试string是否含有匹配结果

字符串对象中的正则
方法
match(pattern) :根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null
search(pattern) :根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1
replace(pattern,replacement) :根据pattern进行正则匹配,把匹配结果替换为replacement
split(pattern) :根据pattern进行正则分割,返回一个分割的数组

 

附: text 和exec的区别

****   EXEC   ****  
  如果   exec   方法没有找到匹配,则它返回   null。如果它找到匹配,则   exec   方法返回一个数组,并且更新全局   RegExp   对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志   (g)   的   match   方法。  
   
  如果为正则表达式设置了全局标志,exec   从以   lastIndex   的值指示的位置开始查找。如果没有设置全局标志,exec   忽略   lastIndex   的值,从字符串的起始位置开始搜索。  
   
  exec   方法返回的数组有三个属性,分别是   input、index   和   lastIndex。Input   属性包含了整个被查找的字符串。Index   属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex   属性中包含了匹配中最后一个字符的下一个位置。  
   
  ****   TEST   ****  
  test   方法检查在字符串中是否存在一个模式,如果存在则返回   true,否则就返回   false。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值