首页 > 编程 > Regex > 正文

正则表达式如何在PHP里灵活的应用

2020-03-16 21:00:26
字体:
来源:转载
供稿:网友

正则表达式也称为模式表达式,自身具有一套非常完整的、可以编写模式的语法体系,提供了一种灵活且直观的字符串处理方法。正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较,从而实现字符串的匹配、查找、替换及分割等操作。

这个程序实现的是用正则表达式实现登录验证的一个Demo

<1>:

  

  1. <?php  
  2. if(isset($_POST["sub"])){  
  3. $text=$_POST["text"];  
  4. $patten='^[0-9]*$';  
  5. if(!preg_match($patten,$text,$x)){  
  6. echo"<script>alert('用户没有输入数字');</script>";  
  7. }else{  
  8. if($x<1){  
  9. $y=$x;  
  10. echo "y=".$y."<br>";  
  11. }else if($x<10){  
  12. $y=2*$x-1;  
  13. echo  
  14. "y=".$y."<br>";  
  15. }else{  
  16. $y=3*$x-11;  
  17. echo "y=".$y."<br>";  
  18. }  
  19. }  
  20. ?>  
  21. <html>  
  22. <head>  
  23. </head>  
  24. <body>  
  25. <form method='post'>  
  26. 请输入信息:<input type="text"name="text">  
  27. <input type="submit"name="sub"value="提交">  
  28. </form>  
  29. </body>  
  30. </html>  

<2>:

  1. <html>  
  2. <head>  
  3. </head>  
  4. <body>  
  5. <form method='post'>  
  6. 注册账号:<input type="text"name="aNum"><br>  
  7. 登录密码:<input type="password"name="pwd"><br>  
  8. 重复密码:<input type="password"name="rPwd"><br>  
  9. 邮箱地址:<input type="text"name="email"><br>  
  10. 手机号码:<input type="text"name="tel"><br>  
  11. <input type="submit"name="sub"value="注册">  
  12. <?php  
  13. if(isset($_POST["sub"])){  
  14. $aNum=$_POST["aNum"];  
  15. $pwd=$_POST["pwd"];  
  16. $rPwd=$_POST["rPwd"];  
  17. $email=$_POST["email"];  
  18. $tel=$_POST["tel"];  
  19. $patten1="^/w+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$";//验证邮箱  
  20. $patten2="[0-9]{11}";//11位数字组成,验证手机号码  
  21. $patten3="[a-zA-Z_/x7f-/xff][a-zA-Z0-9_/x7f-/xff]*"//验证账号  
  22. if(!preg_match($patten3,$aNum)){  
  23. echo"<script>alert('账号格式不对');</script>";  
  24. }else{  
  25. if($pwd.length<6){  
  26. echo"<script>alert('密码格式不对');</script>";  
  27. }else{  
  28. if(!preg_match($patten,$email)){  
  29. echo"<script>alert('email格式不正确');</script>";  
  30. }else{  
  31. if(!preg_match($patten2,$tel)){  
  32. echo"<script>alert('手机号码格式不正确');</script>";  
  33. }else{  
  34. if(strlen($pwd)!=strlen($rPwd)){  
  35. echo"<script>alert('两次密码不一致');</script>";  
  36. }else{  
  37. echo"用户您好!您的账号为:".$aNum.",密码为:".$pwd.",邮箱为:".  
  38. $email.",手机号码为:".$tel;  
  39. }  
  40. }  
  41. }  
  42. }  
  43. }  
  44. ?>  
  45. </form>  
  46. </body>  
  47. </html>  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表