美文网首页
正则表达式

正则表达式

作者: snoweek | 来源:发表于2015-05-26 21:55 被阅读93次

    理解:在表单的验证过程中,我们不仅要验证是否为空,格式是否正确也非常重要。就像邮箱,如果我们没有格式验证的话,那么只要不为空,表单就会提供给数据库。但如果格式错误,系统就无法通过邮箱与用户取得联系。所谓格式验证,其实就是值与模式匹配的问题。

    <form action="register.php" method="POST"> 
                用户名:<br />
                <input type="text" name="username" />
                <br />
                密码:<br />
                <input type="password" name="password" />
                密码由5-21个字符组成
                <br />
                <input type="submit" value="注册" />
            </form>
    

    例如上述表单,如果不使用正则表达式进行格式验证,我们会这样处理

    if(!empty($_POST['username'])){
                    $username=$_POST['username'];
                }else{
                    $error[]="请输入用户名";
                }
                if(!empty($_POST['password'])){
                    if(preg_match('/^\w{4,20}$/',$_POST['password'])){
                    $password=$_POST['password'];
                }else{
                    $error[]="请填写正确的密码格式";
                }
                }else{
                    $error[]="请输入密码";
                }
    

    当我们设定密码为555或者5500!的时候,我们都会注册成功
    若使用正则表达式,我们可以这样处理

    if($_SERVER['REQUEST_METHOD']=='POST'){
                if(!empty($_POST['username'])){
                    $username=$_POST['username'];
                }else{
                    $error[]="请输入用户名";
                }
                if(preg_match('/^\w{4,20}$/',$_POST['password'])){
                    $password=$_POST['password'];
    
                }else{
                    $error[]="请输入密码";
                }
    

    当我们设定密码为555(个数不够)或者5500!的时候(包含了除字母数字下划线以外的符号),我们都不会注册成功

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/cdyrqttx.html