注意点:
1.正定义正则表达式用\作为开头和结尾 如 var objExp=/\d/ ;
2. var objExp=/\d/只会匹配第一次出现数字的地方,
var objExp=/\d/g; 会匹配所有出现的数字
用正则表达式匹配表达式的方式有用test()和exec()
讲一下exec()方法的匹配:
当没有匹配字符时返回null ,否则返回一个数组。数组的第一个元素为与正则表达式匹配的所有字符总和,后面的元素是正则表达式中用括号括起来的子表达式匹配的字符串。
var str=form1.idcard.value;
var objExp=/\d{6}([12]\d{3})([01\d])([0123]\d)\d{4}/;
arr=obExp.exec(str);
if(arr!=null)
{
alert("身份证号为:"+arr[0]+"\r"+arr[1]+"-"+arr[2]+"-"+arr[3]);
}
----------------------------------------
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>checkname</title>
<script language="javascript">
function check()
{
var str=form1.name.value;
if(str==""){
alert("请输入姓名。");form1.name.focus();return;}
else{
var objExp=/\d{1,3}\.\d{3}/;
if(objExp.test(str)==false){
alert("no");
}
else
alert("ok");
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
姓名:<input type="text" name="name" size="40"/>
<br/><br/>
<input type="button" class="btn_gray" value="检测" onclick="check()"/>
</form>
</body>
</html>