RegExp对象(正则表达式)下
- RegExp 对象方法
使用test()方法进行模式匹配
test()方法用于对一个指定的字符串执行模式匹配,如果搜索到匹配的字符,
返回true,否则返回false
var objExp=/\d/g;
objExp.test("abc");
<script type="text/javascript">
var objExp=/\d/g;
var flag=objExp.test("123abc")
alert(flag); //返回true
</script>
例子:检测电话号码是否合法
<html>
<head>
<meta http-equiv="content-type" content="text/html" charset="UTF-8">
<script type="text/javascript" >
function checkTel(){
var str=form1.tel.value; //获取输入的电话号码
var objExp=/^((\d{3}-)?\d{8})$|^((\d{4}-)?\d{7,8})$/;
if(objExp.test(str)==true){
alert("您输入的电话号码合法");
}else{
alert("您输入的电话号码不合法");
}
}
</script>
<body>
<form name="form1" method="post" action="">
请输入电话号码:<input type="text" name="tel" id="tel">
<input name="check" type="button" value="检测" onclick="checkTel()">
</form>
<body>
</html>
使用exec()方法进行模式匹配
exec()方法返回值不是true或者false,而是当没有搜索到匹配的字符时,返回null,
否则返回一个数组,这个数组的第一个元素包含与正则表达式相匹配的字符串,其他
元素包含的是匹配的各个分组(用括号括起来的子表达式)
例子:检测身份证号码
<html>
<head>
<meta http-equiv="content-type" content="text/html" charset="UTF-8">
<script type="text/javascript" >
function getBirthday(){
var str=form1.IDCard.value; //获取文本框中的身份证号码
var objExp=/(\d{6})(\d{4})(\d{2})(\d{2})(\d{4})/;
var arr=objExp.exec(str);
if(arr!=null){
alert("您输入的身份证号是:"+arr[0]+"出生日期为:"+arr[2]+"年"+arr[3]+"月"+arr[4]+"日");
}else{
alert("输入的身份证不合法");
}
}
</script>
<body>
<form name="form1" method="post" action="">
请输入身份证号码:<input type="text" name="IDCard" id="IDCard" size="50"><br/>
<input type="button" value="从身份证中获取出生年月日" onclick="getBirthday()">
</form>
<body>
</html>

浙公网安备 33010602011771号