


Formulaire de validation des expressions régulières Ajax et PHP et code de vérification
Caractère de correspondance de modèle :
: caractère d'échappement Par exemple : b échappe à b
^ : symbole de début d'expression régulière
$ : expression régulière symbole de fin
* : Correspond au caractère précédent apparaissant 0 ou n fois
: Correspond au caractère précédent apparaissant 1 ou n fois
? : correspond au caractère précédent 0 ou 1 fois
. : correspond à tous les caractères uniques à l'exception des sauts de ligne
| : ou signifie, par exemple, x|y correspond à x ou y
{n} : correspond aux n premiers caractères
{n,m} : correspond à au moins n et au plus m caractères précédents
[xyz] : correspond à n'importe quel caractère entre crochets
[^xyz] : correspond à n'importe quel caractère sauf les crochets dans [0-9]
w : correspond à n'importe quel chiffre, lettre ou trait de soulignement équivalent à [A-Za-z0-9_]
d : correspond à n'importe quel nombre A entre 0 et 9
var r_qq_email=/^d{5,}@qq(.)com$/
<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>Vérification des expressions régulières 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) "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");} ?>Ce qui précède est le formulaire de vérification des expressions régulières Ajax et PHP introduit par l'éditeur et le code de vérification. Si vous avez des questions, laissez-moi un message et l'éditeur vous répondra à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois ! Pour plus d'articles liés aux formulaires de vérification d'expressions régulières Ajax et PHP et aux codes de vérification, veuillez faire attention au site Web PHP chinois !

Phpidentifiesauser'sessionusingssse cookiesand sessionids.1) whenSession_start () est calculé, phpgeneratesauquesseSessionIdStoredInacookIenameDPhpSesssIdonUser'sbrowser.2) thisIdallowsphptoreTrrieSeSessionDatafromTeserver.

La sécurité des sessions PHP peut être obtenue grâce aux mesures suivantes: 1. Utilisez Session_RegeReate_ID () pour régénérer l'ID de session lorsque l'utilisateur se connecte ou est une opération importante. 2. Cryptez l'ID de session de transmission via le protocole HTTPS. 3. Utilisez session_save_path () pour spécifier le répertoire sécurisé pour stocker les données de session et définir correctement les autorisations.

PhpSessionFilesArestorentheDirectorySpecifiedSession.save_path, généralement / tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomzethis: 1) usession_save_path () tosetacustomDirectory, astumeit'swrit

ToretrrievedatafromaphpSession, startTheSessionwithSession_start () et accessvariablesInthe $ _sessionArray.forexample: 1) startTheSession: session_start (). 2) récupéré: $ username = $ _ session ['userSeger']; echo "bienvenue,". $ Username;..

Les étapes pour construire un système de panier d'achat efficace à l'aide de sessions comprennent: 1) Comprendre la définition et la fonction de la session. La session est un mécanisme de stockage côté serveur utilisé pour maintenir l'état de l'utilisateur entre les demandes; 2) Implémenter la gestion de session de base, comme l'ajout de produits au panier; 3) développer une utilisation avancée, soutenant la gestion de la quantité de produits et la suppression; 4) Optimiser les performances et la sécurité, en persistant les données de session et en utilisant des identifiants de session sécurisés.

L'article explique comment créer, mettre en œuvre et utiliser des interfaces dans PHP, en se concentrant sur leurs avantages pour l'organisation du code et la maintenabilité.

L'article traite des différences entre crypt () et mot de passe_hash () dans PHP pour le hachage de mot de passe, en se concentrant sur leur implémentation, leur sécurité et leur aptitude aux applications Web modernes.

L'article discute de la prévention des scripts inter-sites (XSS) dans PHP par validation d'entrée, en codage de sortie et en utilisant des outils comme OWASP ESAPI et Purificateur HTML.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
