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>