正則表達式也稱為模式表達式,自身具有一套非常完整的、可以編寫模式的語法體系,提供了一種靈活且直觀的字符串處理方法。正則表達式通過構建具有特定規則的模式,與輸入的字符串信息比較,從而實現字符串的匹配、查找、替換及分割等操作。
這個程序實現的是用正則表達式實現登錄驗證的一個Demo
<1>:
- <?php
- if(isset($_POST["sub"])){
- $text=$_POST["text"];
- $patten='^[0-9]*$';
- if(!preg_match($patten,$text,$x)){
- echo"<script>alert('用戶沒有輸入數字');</script>";
- }else{
- if($x<1){
- $y=$x;
- echo "y=".$y."<br>";
- }else if($x<10){
- $y=2*$x-1;
- echo
- "y=".$y."<br>";
- }else{
- $y=3*$x-11;
- echo "y=".$y."<br>";
- }
- }
- ?>
- <html>
- <head>
- </head>
- <body>
- <form method='post'>
- 請輸入信息:<input type="text"name="text">
- <input type="submit"name="sub"value="提交">
- </form>
- </body>
- </html>
<2>:
- <html>
- <head>
- </head>
- <body>
- <form method='post'>
- 注冊賬號:<input type="text"name="aNum"><br>
- 登錄密碼:<input type="password"name="pwd"><br>
- 重復密碼:<input type="password"name="rPwd"><br>
- 郵箱地址:<input type="text"name="email"><br>
- 手機號碼:<input type="text"name="tel"><br>
- <input type="submit"name="sub"value="注冊">
- <?php
- if(isset($_POST["sub"])){
- $aNum=$_POST["aNum"];
- $pwd=$_POST["pwd"];
- $rPwd=$_POST["rPwd"];
- $email=$_POST["email"];
- $tel=$_POST["tel"];
- $patten1="^/w+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$";//驗證郵箱
- $patten2="[0-9]{11}";//11位數字組成,驗證手機號碼
- $patten3="[a-zA-Z_/x7f-/xff][a-zA-Z0-9_/x7f-/xff]*"//驗證賬號
- if(!preg_match($patten3,$aNum)){
- echo"<script>alert('賬號格式不對');</script>";
- }else{
- if($pwd.length<6){
- echo"<script>alert('密碼格式不對');</script>";
- }else{
- if(!preg_match($patten,$email)){
- echo"<script>alert('email格式不正確');</script>";
- }else{
- if(!preg_match($patten2,$tel)){
- echo"<script>alert('手機號碼格式不正確');</script>";
- }else{
- if(strlen($pwd)!=strlen($rPwd)){
- echo"<script>alert('兩次密碼不一致');</script>";
- }else{
- echo"用戶您好!您的賬號為:".$aNum.",密碼為:".$pwd.",郵箱為:".
- $email.",手機號碼為:".$tel;
- }
- }
- }
- }
- }
- ?>
- </form>
- </body>
- </html>
新聞熱點
疑難解答