<script type="text/javascript">
var reg = new RegExp("^ Hello World $"); //匹配 Hello World
var text = " Hello World ";
var flag = reg.test(text);
//alert(flag);//true
//reg = /^\d$/;
reg = new RegExp("^\\d$") // \d匹配0-9的所有数字
text=1;
flag=reg.test(text);alert(flag);//true
reg = new RegExp("^.$") //.匹配所有
text="aa";
flag=reg.test(text);alert(flag);
reg = /^[a-z]$/; //[a-z]匹配一个小写字母
text="1";
flag=reg.test(text);
alert(flag);//false
</script>
. 匹配任意字符
\d 匹配0-9所有数字
\w 匹配字母、数字、下划线
\s 匹配所有空白符
\b 匹配单词开始或结束
[a-z] 匹配一个小写字母
[A-Z ] 匹配一个大写字母
[a-zA-Z] 匹一个字母不管大小写
[abc] 匹配方括号之间的任意一个字符
[^abc] 匹配不在方括号之间的任意一个字符
[u4e00-u9fa5] 匹配中文
. 匹配任意字符
\d 匹配0-9所有数字
\w 匹配字母、数字、下划线
\s 匹配所有空白符
\b 匹配单词开始或结束
[a-z] 匹配一个小写字母
[A-Z ] 匹配一个大写字母
[a-zA-Z] 匹一个字母不管大小写
[abc] 匹配方括号之间的任意一个字符
[^abc] 匹配不在方括号之间的任意一个字符
[u4e00-u9fa5] 匹配中文
+ 一个或多个
* 0到多个
? 0到一个
{2,} 2到多个
{3,}3到多个
{3,13} 3到13个
{3} 3个
js正则验证
<!DOCTYPE html>
<html>
<head>
<title>hw3.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="hw.css">
</head>
<body>
<form>
用户名<input id="username" name="username"> <span id="u-id" ></span>
<Br>
密码<input id="password" type="password" name="password"> <span id="p-sd"></span>
<Br>
邮箱<input id="email" name ="email"><span id ="e-mail"></span>
<Br>
电话<input id ="tel" name="tel"><span id ="tel-"></span>
<Br>
身份证<input id="idcard" name="idcard"><span id=id-card></span>
<Br>
<input type="button" id="submit_btn" value="提交">
</form>
<script type="text/javascript">
document.getElementById("submit_btn").onclick=function() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var email =document.getElementById("email").value;
var tel=document.getElementById("tel").value;
var idcard = document.getElementById("idcard").value;
var ureg =/^\w{3,16}$/;
var preg =/^\w{6,18}$/;
var ereg =/^\d{4,12}@[a-z]+.com$/;
var treg =/^\d{11}$/;
var ireg =/^\d{18}$/;
var flag=true;
if( ! ureg.test(username)) {
document.getElementById("u-id").innerHTML = "用户名必须是3-16位的数字字母下划线";
flag = false;
}else {
document.getElementById("u-id").innerHTML = "";
}
if( ! preg.test(password)) {
document.getElementById("p-sd").innerHTML = "密码必须是6-18位的数字字母下划线";
flag = false;
}else {
document.getElementById("p-sd").innerHTML = "";
}
if( ! ereg.test(email)) {
document.getElementById("e-mail").innerHTML = "非法邮箱";
flag = false;
}else {
document.getElementById("e-mail").innerHTML = "";
}
if( ! treg.test(tel)) {
document.getElementById("tel-").innerHTML = "电话必须11位";
flag = false;
}else {
document.getElementById("tel-").innerHTML = "";
}
if( ! ireg.test(idcard)) {
document.getElementById("id-card").innerHTML = "身份证必须18位";
flag = false;
}else {
document.getElementById("id-card").innerHTML = "";
}
if(flag){
alert("提交给服务器");
}
}
</script>
</body>
</html>