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进行正则分割,返回一个分割的数组