正则表达式

2015-05-26  本文已影响93人  snoweek

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

<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!的时候(包含了除字母数字下划线以外的符号),我们都不会注册成功

上一篇 下一篇

猜你喜欢

热点阅读