Heim >Backend-Entwicklung >PHP-Tutorial >Ajax- und PHP-Validierungsformular für reguläre Ausdrücke und Verifizierungscode
Musterübereinstimmungszeichen:
: Escape-Zeichen Zum Beispiel: b entkommt b
^: Startsymbol für reguläre Ausdrücke
$ : Regulärer Ausdruck Endsymbol
*: Entspricht dem vorherigen Zeichen, das 0 oder n Mal vorkommt
+: Entspricht dem vorherigen Zeichen, das 1 oder n Mal vorkommt
?: Entspricht dem vorhergehenden Zeichen 0 oder 1 Mal
.: Entspricht allen Einzelzeichen außer Zeilenumbrüchen
|: Oder bedeutet beispielsweise x|y-Übereinstimmungen x oder y
{n}: entspricht den vorherigen n Zeichen
{n,m}: entspricht mindestens n Bis zu m vorherigen Zeichen
[xyz]: entspricht jedem Zeichen in den Klammern
[^xyz]: entspricht jedem Zeichen außer den Klammern usw. Entspricht [0-9]
w: Entspricht einer beliebigen Zahl, einem Buchstaben oder einem Unterstrich.
d: Entspricht einer beliebigen Zahl zwischen 0 und 9
Mustermodifikator:
i: Groß-/Kleinschreibung ignorieren
Gemeinsame reguläre Ausdrücke Beispiel:
//Der Benutzername besteht aus 6-18 alphanumerischen Zeichen und Unterstriche und darf nicht mit einer Zahl beginnen
var r_name=/^[a-z]w{5,17} $/i
//Die Passwortlänge darf nicht sein weniger als sechs Zeichen
var r_pwd=/^w{6,}$/
//Alle allgemeinen E-Mail-Adressen
var r_eamil=/^w+@w+(.)w+$/
//Passen Sie eine QQ-E-Mail-Adresse an
//861745122@qq.com
var r_qq_email =/^d{5,}@qq(.)com$/
//Entspricht einer 163-E-Mail-Adresse. Adresse
var r_163_email=/^w+@163 (.)com$/
//Ein passender Suffixname kann .com|.net|.cn| .edu
var email=/^w+@ sein. w+(.)com|net|cn|edu$/
//Erfordert eine gültige Altersgruppe
var r_age=/^d{1,2}$ /
//if(age>=18&&age》=100)
//Mobiltelefonnummer bestätigen: 11 Ziffern, beginnend mit 13 15 18
var r_tel=/^1[3,5,8]d{9}$/
/ /Stellen Sie sicher, dass die ID-Nummer 18 Ziffern oder 17 Ziffern plus ein X
<span style="font-size:24px;">下面是一个例子:</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=/^(\w+@\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>Überprüfung regulärer PHP-Ausdrücke
<?php header("content-type:text/html;charset=utf8"); //var_dump($_POST);die; //array(5) { ["uname"]=> 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");} ?>Das Obige ist die vom Herausgeber eingeführte Ajax- und PHP-Überprüfung. Ich hoffe, dass Ihnen dieses Formular und der Überprüfungscode hilfreich sein werden Bei Fragen hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken! Weitere Artikel zu Ajax- und PHP-Verifizierungsformularen für reguläre Ausdrücke und Verifizierungscodes finden Sie auf der chinesischen PHP-Website!