使用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>