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>

 

posted @ 2016-02-14 00:25  fgsfhds  阅读(283)  评论(0编辑  收藏  举报