<?php $user = array( 'name' => 'spark1985', 'email' => 'spark@imooc.com', 'mobile' => '13312345678' ); //进行一般性验证 if (!isset($user)) { die('用户信息不能为空'); } //用户名必须为字母、数字与下划线 //不区分大小写 //帐号首位为英文字母 账号长度8-15位 //或者是邮箱帐号 支持长度(5-15 1 1-15 2-5) if (!preg_match('/([a-z]{1}\w{7,14}|[\w{1}\-\_]{5,15}@\w{1,15}\.\w{2,5})/i', $user['name'])) { die('用户名不合法'); } //验证邮箱格式是否正确 if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $user['email'])) { die('邮箱不合法'); } //手机号必须为11位数字,且为1开头 if (!preg_match('/^1[3458]\d{9}$/i', $user['mobile'])) { die('手机号不合法'); } echo '用户信息验证成功';
你把邮箱和用户名写一块了他后面读取的只是key为name的 不过学习精神挺好的 支持一个!
('/([a-z]{1}\w{7,14}|[\w{1}\-\_]{5,15}@\w{1,15}\.\w{2,5})/i', $user['name'])
当用户名的包括下划线的任何单词字符超过一定数时,添加其他的非单词字符(包括下划线)(如添“+——”等)还是不会报错,代码优化不够