这篇文章主要介绍了Ajax和PHP正则表达式验证表单及验证码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

模式匹配符:

\:转义字符 例如:\b转义了b

^:正则表达式开始符号

$:正则表达式结束符号

*:匹配前面的字符出现0次或者n次

+:匹配前面的字符出现1次或者n次

?:匹配前面的字符出现0次或者1次

.:匹配除了换行符以外的所有单个字符

|:或者的意思,例如x|y 匹配x或者y

{n}:匹配前面的n个字符

{n,m}:匹配至少n个最多m个前面字符

[xyz]:匹配中括号里的任意一个字符

[^xyz]:匹配除了中括号里的任意一个字符等价于[0-9]

\w:匹配任意一个数字或字母或下划线 等价于[A-Za-z0-9_]

\d:匹配任意一个0--9之间的数字

模式修正符:

i:忽略大小写

常用正则表达式举例:

//用户名由6-18位的字母数字下划线组成,不能由数字开头

var r_name=/^[a-z]\w{5,17}$/i

//密码长度不能少于六位

var r_pwd=/^\w{6,}$/

//所有的通用邮箱地址

var r_eamil=/^\[email protected]\w+(\.)\w+$/

//匹配一个QQ邮箱地址

//[email protected]
var r_qq_email=/^\d{5,}@qq(\.)com$/

//匹配一个163的邮箱地址

var r_163_email=/^\[email protected](\.)com$/

//匹配一个后缀名可能是.com|.net|.cn|.edu

var email=/^\[email protected]\w+(\.)com|net|cn|edu$/

//要求输入有效的年龄段

var r_age=/^\d{1,2}$/

//if(age>=18&&age《=100)

//验证手机号:11位 13 15 18开头

var r_tel=/^1[3,5,8]\d{9}$/

//验证身&份&证号 18位或者17位加一个X

var r_s=/^\d{18}|\d{17}x$/i

//验证中文 var reg=/^[\u4e00-\u9fa5]{2,17}$/

//php

$reg = "/^[\x{4e00}-\x{9fa5}]$/u"

<span>下面是一个例子:</span> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 
<title></title> 
<script type="text/javascript" src="public.js"></script> 
</head> 
<body onload="yanzheng(this)"> 
<form method="post" action="info_2.php" onsubmit="return check_all()"> 
<table> 
<tr> 
<td colspan="2">账户基本信息</td> 
</tr> 
<tr> 
<td>登录账号:</td> 
<td><input type="text" name="zhanghao" onblur="check_zhanghao(this)"><span name="sp1"></span></td> 
</tr> 
<tr> 
<td>昵称:</td> 
<td><input type="text" name="nicheng" onblur="check_nicheng(this)"><span name="sp2"></span></td> 
</tr> 
<tr> 
<td>性别:</td> 
<td><input type="radio" name="sex" value="男"onclick="check_sex()">男 
<input type="radio" name="sex" value="女"onclick="check_sex()">女 
<span id="sp3"></span></td> 
</tr> 
<tr> 
<td colspan="2">账户安全设置</td> 
</tr> 
<tr> 
<td>登录密码:</td> 
<td><input type="password" name="pwd" onblur="check_pwd(this)"><span name="sp4"></span></td> 
</tr> 
<tr> 
<td>确认登录密码:</td> 
<td><input type="password" name="repwd" onblur="check_repwd(this)"><span name="sp5"></span></td> 
</tr> 
<tr> 
<td>真实姓名:</td> 
<td><input type="text" name="username" onblur="check_username(this)"><span name="sp6"></span></td> 
</tr> 
<tr> 
<td>身&份&证号:</td> 
<td><input type="text" name="idcard" onblur="check_idcard(this)"><span name="sp7"></span></td> 
</tr> 
<tr> 
<td>邮箱地址:</td> 
<td><input type="text" name="email" onblur="check_email(this)"><span name="sp8"></span></td> 
</tr> 
<tr> 
<td>验证码</td> 
<td><input type="text" id="number" onblur="check_number()"> 
<input type="button" onclick="yanzheng()" value="获取验证码" > 
<span id="sp10"></span> 
<span id="sp9"></span> 
</td> 
</tr> 
<tr> 
<td></td> 
<td><input type="submit" value="免费注册"></td> 
</tr> 
</table> 
</form> 
<script type="text/javascript"> 
//验证登录账号 
function check_zhanghao(obj){ 
var sp1=$('sp1'); 
if(obj.value==''){ 
sp1.innerHTML='登录账号不能为空'; 
sp1.style.color='red'; 
return false; 
}else{ 
var reg=/^\w{5,10}$/i; 
if(reg.test(obj.value)){ 
sp1.innerHTML='正确'; 
sp1.style.color='green'; 
return true; 
}else{ 
sp1.innerHTML='登录账号5-10字符'; 
sp1.style.color='red'; 
return false; 
} 
}return true; 
} 
//验证昵称 
function check_nicheng(obj){ 
var sp2=$('sp2'); 
if(obj.value==''){ 
sp2.innerHTML='登录账号不能为空'; 
sp2.style.color='red'; 
return false; 
}else{ 
var reg=/^\w{5,10}$/i; 
if(reg.test(obj.value)){ 
sp2.innerHTML='正确'; 
sp2.style.color='green'; 
return true; 
}else{ 
sp2.innerHTML='昵称5-10字符'; 
sp2.style.color='red'; 
return false; 
} 
}return true; 
} 
//验证密码 
function check_pwd(obj2){ 
var sp4=$('sp4'); 
if(obj2.value==''){ 
sp4.innerHTML='密码不能为空'; 
sp4.style.color='red'; 
return false; 
}else{ 
var reg=/^\w{6,}$/; 
if(reg.test(obj2.value)){ 
sp4.innerHTML='正确'; 
sp4.style.color='green'; 
return true; 
}else{ 
sp4.innerHTML='格式不正确'; 
sp4.style.color='red'; 
return false; 
} 
}return true; 
} 
//验证确认密码 
function check_repwd(obj3){ 
var sp5=$('sp5'); 
var pwd=$('pwd'); 
var repwd=$('repwd'); 
if(obj3.value==''){ 
sp5.innerHTML='密码不能为空'; 
sp5.style.color='red'; 
return false; 
}else{ 
if(obj3.value==pwd.value){ 
sp5.innerHTML='正确'; 
sp5.style.color='green'; 
return true; 
}else{ 
sp5.innerHTML='确认密码和密码不一致'; 
sp5.style.color='red'; 
return false; 
} 
}return true; 
} 
//验证性别 
num2=0; 
function check_sex(){ 
var sex=document.getElementsByName('sex'); 
// var sp4=document.getElementById('sp4') 
for(var i=0;i<sex.length;i++){ 
if(sex[i].checked==true){ 
num2=num2+1; 
} 
} 
//alert(num2); 
if(num2!=0){ 
sp3.innerHTML='√'; 
sp3.style.color='green'; 
return true; 
}else{ 
sp3.innerHTML='性别不能为空'; 
sp3.style.color='red'; 
return false; 
} 
} 
//验证姓名 
function check_username(obj){ 
var sp6=$('sp6'); 
if(obj.value==""){ 
sp6.innerHTML='用户名不能为空'; 
sp6.style.color='red'; 
return false; 
}else{ 
var reg=/^[\u4e00-\u9fa5]{2,3}$/; 
if(!reg.test(obj.value)){ 
sp6.innerHTML='用户名应该2-3个汉字'; 
sp6.style.color='red'; 
return false; 
}else{ 
sp6.innerHTML='√'; 
sp6.style.color='green'; 
return true; 
} 
} 
return true; 
} 
//验证邮箱 
function check_email(obj5){ 
var sp8=$('sp8'); 
if(obj5.value==''){ 
sp8.innerHTML='邮箱不能为空'; 
sp8.style.color='red'; 
return false; 
}else{ 
var reg=/^(\[email protected]\w+(\.)com|net|cn)$/; 
if(reg.test(obj5.value)){ 
sp8.innerHTML='正确'; 
sp8.style.color='green'; 
return true; 
}else{ 
sp8.innerHTML='格式不正确'; 
sp8.style.color='red'; 
return false; 
}return true; 
} 
} 
//验证身&份&证号 
function check_idcard(obj9){ 
var sp7=$('sp7'); 
if(obj9.value==''){ 
sp7.innerHTML='身&份&证号不能为空'; 
sp7.style.color='red'; 
return false; 
}else{ 
var reg=/^\d{18}|\d{17}x$/i; 
if(reg.test(obj9.value)){ 
sp7.innerHTML='正确'; 
sp7.style.color='green'; 
return true; 
}else{ 
sp7.innerHTML='格式不正确'; 
sp7.style.color='red'; 
return false; 
}return true; 
} 
} 
//生成验证码 
function yanzheng(){ 
var sp9=document.getElementById('sp9'); 
var str1=""; 
for(var i=1;i<=4;i++){ 
str1=str1+parseInt(Math.random()*10); 
sp9.innerHTML=str1; 
} 
} 
//验证验证码 
function check_number(){ 
var number=document.getElementById('number').value 
var sp10=document.getElementById('sp10') 
var sp9=document.getElementById('sp9'); 
if(number==""){ 
sp10.innerHTML='验证码不能为空'; 
sp10.style.color='red'; 
return false; 
}else{ 
if(number!=sp9.innerHTML){ 
sp10.innerHTML='验证码和你写的不一致'; 
sp10.style.color='red'; 
return false; 
} else{ 
sp10.innerHTML='√'; 
sp10.style.color='green'; 
return true;} 
return true; 
} 
} 
function check_all(){ 
if(check_zhanghao($('zhanghao')) & check_nicheng($('nicheng')) & check_pwd($('pwd')) & check_repwd($('repwd')) & check_sex()& check_username($('username')) & check_idcard($('idcard')) &check_email($('email')) & check_number() ){ 
return true;} 
else{ return false;} 
} 
</script> 
</body> 
</html>

php正则验证

<?php 
header("content-type:text/html;charset=utf8"); 
//var_dump($_POST);die; 
//array(5) { ["uname"]=> string(9) "刘伟超" ["uqq"]=> string(10) "1111111111" ["uemail"]=> string(12) "[email protected]" ["utel"]=> string(11) "15863162320" ["uinfo"]=> string(48) "地方开始放假开放活动健康的话概括" } 
empty($_POST["uname"])?$uname="":$uname=$_POST["uname"]; 
empty($_POST["uemail"])?$uemail="":$uemail=$_POST["uemail"]; 
empty($_POST["utel"])?$utel="":$utel=$_POST["utel"]; 
empty($_POST["uqq"])?$uqq="":$uqq=$_POST["uqq"]; 
empty($_POST["uinfo"])?$uinfo="":$uinfo=$_POST["uinfo"]; 
//验证姓名 
$reg="/^[\x{4e00}-\x{9fa5}]{2,3}$/u"; 
if(!preg_match($reg,$uname)){ 
echo "用户名应该2-3个汉字";die; 
//header("refresh:1;url=form.html"); 
} 
//验证邮箱 
$reg="/^(\[email protected]\w+(\.)com|net|cn)$/"; 
if(!preg_match($reg,$uemail)){ 
echo "邮箱必须含有@,且以com结尾";header("refresh:1;url=form.html"); die; 
} 
//验证座机号 
$reg="/^\d{11}$/"; 
if(!preg_match($reg,$utel)){ 
echo "座机号以010-22222222格式";header("refresh:1;url=form.html"); die; 
} 
//验证QQ号 
$reg="/^\d{5,11}$/"; 
if(!preg_match($reg,$uqq)){ 
echo "qq必须是5-11位纯数字";header("refresh:1;url=form.html"); die; 
} 
//验证简介 
/*$reg="/^[\x{4e00}-\x{9fa5}]{10,100}\W+/u"; 
if(!preg_match($reg,$uinfo)){ 
echo "简介应该10-100个汉字";die; 
//header("refresh:1;url=form.html"); 
} 
*/ 
//连接数据库 
$link=mysql_connect('127.0.0.1','root','root')or die("连接失败"); 
//选择数据库 
mysql_select_db('kaoshi',$link); 
//设置字符集 
mysql_query("set names utf8"); 
//写sql语句 
$sql="insert into zhuce(c_name,c_qq,c_email,c_tel,c_info) values('$uname','$uqq','$uemail','$utel','$uinfo')"; 
//echo $sql;die; 
$rel=mysql_query($sql); 
if($rel){ 
echo "注册成功";header("refresh:1;url=show.php"); 
}else{echo "注册失败";header("refresh:1;url=form.html");} 
?>

以上所述是小编给大家介绍的Ajax和PHP正则表达式验证表单及验证码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!

最新资讯
特斯拉缩减董事会成员 马斯克的三个盟友将离开

特斯拉缩减董事会成员

特斯拉表示,将在今明两年把董事会从11名董事缩减至7名,
欧洲消费者组织敦促监管机构对Facebook展开联合审查

欧洲消费者组织敦促监

欧洲消费者组织BEUC敦促欧盟反垄断监管机构和隐私保护
名不见经传的Zoom为什么比独角兽Pinterest表现惊艳

名不见经传的Zoom为什

直到最近,除了各公司的IT部门,很少有人听说过Zoom Video
三星手机重返“中国战场” 在全球重建“护城河”

三星手机重返“中国战

在线下渠道商话语权越来越重的背景下,本就存在渠道问题
涉嫌隐瞒事实 苹果又吃官司连库克都成被告

涉嫌隐瞒事实 苹果又

库克与苹果首席财务官卢卡·马埃斯特里也被列为这项集
美图退出手机江湖台前幕后 独立小众品牌的宿命?

美图退出手机江湖台前

是时候说再见了。这让业界唏嘘,在酷派淡出、金立破产、
最新文章
PHP数字金额转换成中文大写显示

PHP数字金额转换成中

今天小编就为大家分享一篇关于PHP数字金额转换成中文
PHP array_shift()用法实例分析

PHP array_shift()用

这篇文章主要介绍了PHP array_shift()用法,结合实例形
laravel 框架配置404等异常页面

laravel 框架配置404

这篇文章主要介绍了laravel 框架配置404等异常页面,小
PHP如何通过表单直接提交大文件详解

PHP如何通过表单直接

这篇文章主要给大家介绍了关于PHP如何通过表单直接提
PHP微信支付结果通知与回调策略分析

PHP微信支付结果通知

这篇文章主要介绍了PHP微信支付结果通知与回调策略,结
php如何利用pecl安装mongodb扩展详解

php如何利用pecl安装m

这篇文章主要给大家介绍了关于php如何利用pecl安装mon