dongtuojuan8998 2014-08-31 08:51
浏览 45
已采纳

使用preg_match在PHP中进行表单验证

Hi I am trying to validate a simple HTML form. Here is my HTML code-

<HTML>
    <body>
        <form method="get" action="password.php">
        User ID<input type="text" name="user" id="user" required/><br/>
        Password<input type="password" name="pass" id="pass" required/><br/>
        <input type="submit" value"Login Here">
        </form>
    </body>
    </html>

The password must contain only digits. My password.php is-

<?php
    $name=$_GET['user'];
    $pass=$_GET['pass'];

    $strlen1= strlen($name);
    $strlen2= strlen($pass);

    $regex= "/^[789][0-9]{9}$/";   // my password should contain digits only.

    if($strlen1==0 | $strlen2==0)   
        {
            echo 'Username or password field is empty'.'<br/>';
        }

    else if($name==$pass)
        {
            echo 'Go for a better password'.'<br/>';
        }

    else if(!preg_match($regex,$pass))
        {
            echo 'password is invalid'.'<br/>';
        }

    else
        {
            echo 'You have successfully logged in'.'<br/>';
        }

    ?>

On running the script even when I enter the valid password like-"123456" the message says- "password is invalid". Please let me know the mistake in above code. Thanks!!!

  • 写回答

1条回答 默认 最新

  • dongmaopiao0901 2014-08-31 09:00
    关注

    Your password should begin with any of 7, 8, 9 and followed by 9 digits

    $regex= "/^[789][0-9]{9}$/";
    

    to filter digits only replace it with:

    $regex="/^\d+$/";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型