时时商务社区
标题:
Ajax和PHP正则表达式验证表单及验证码
[打印本页]
作者:
xgnic
时间:
2018-2-14 05:32
模式匹配符:
\:转义字符 例如:\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=/^\w+@\w+(\.)\w+$/
//匹配一个QQ邮箱地址
//861745122@qq.com
var r_qq_email=/^\d{5,}@qq(\.)com$/
//匹配一个163的邮箱地址
var r_163_email=/^\w+@163(\.)com$/
//匹配一个后缀名可能是.com|.net|.cn|.edu
var email=/^\w+@\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"
下面是一个例子:
账户基本信息
登录账号:
昵称:
性别:
男
女
账户安全设置
登录密码:
确认登录密码:
真实姓名:
身份证号:
邮箱地址:
验证码
php正则验证
string(9) "刘伟超" ["uqq"]=> string(10) "1111111111" ["uemail"]=> string(12) "66555@qq.com" ["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="/^(\w+@\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正则表达式验证表单及验证码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
asp.net ajax实现无刷新验证码
基于Ajax用户名验证、服务条款加载、验证码生成的实现方法
jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验)
PHP生成各种常见验证码和Ajax验证过程
PHP+Ajax实现验证码的实时验证
PHP+Ajax验证码验证用户登录
Ajax提交表单时验证码自动验证 php后端验证码检测
thinkphp验证码的实现(form、ajax实现验证)
Ajax实现带有验证码的局部刷新登录界面
基于ajax实现验证码功能
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2