正则表达式

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容