写一个注册表单需要有帐号,密码,确认密码,邮箱,手机(中国大陆)
// 对帐号,密码,邮箱,手机使用正则表达式进行验证
// 验证规则:帐号 6 ~ 10位,只允许字母,数字,和下划线 其他字符都不允许出现 不能为空
// 密码 6~ 18 位 不能为空
// 手机必须为中国大陆手机 不能为空
// 邮箱必须符合邮箱规则 不能为空
// 密码与确认密码必须相同
//标准 以上所有验证都通过方可提示注册成功,有一项不通过都注册失败!
//验证账户6 ~ 10位,只允许字母,数字,和下划线 其他字符都不允许出现 不能为空
function name(){
$str = '122122';
$preg = '/\w{1,9}/';
$result = preg_match($preg,$str,$arr);
var_dump($arr);
if($result&&strlen($str)<=9&&strlen($str)>=6){
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:red">恭喜通过了</b>';
}else{
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:green">不符合要求</b>';
}
}
name();
function password(){
$str = '12345';
$preg = '/\w{1,9}/';
$result = preg_match($preg,$str,$arr);
var_dump($arr);
if($result&&strlen($str)<=9&&strlen($str)>=6){
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:red">恭喜通过了</b>';
}else{
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:green">不符合要求</b>';
}
}
password();
//手机号
//11位数
//第一个位数s必须是1开头
//30-39 47 50-59 70-79 80-89 99 98
function phone(){
$str = '13536454104';
$preg = '/1([3578]\d|47|99|98)\d{8}/';
$result = preg_match($preg,$str,$arr);
var_dump($arr);
if($result&&strlen($str)==11){
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:red">恭喜通过了</b>';
}else{
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:green">不符合要求</b>';
}
}
phone();
// 邮箱首字符和末尾字符必须为字母或数字,邮箱名可以全是字母或数字,或者是两者的组合;
// 连字符"-"、下划线"_" 和英文句号点".",仅能放在字母或数字中间,且不能连续出现(即其单个符号的左右只能是字母或数字);
// 域名可以带连字符"-", 且可以是多级域名 ,还可以有多个域名后缀;
// 不区分大小写;
// 不限定邮箱字符串的具体长度。
function email(){
$str = '12345678@qq.com.cn';
$preg = '/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/';
$result = preg_match($preg,$str,$arr);
var_dump($arr);
if($result){
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:red">恭喜通过了</b>';
}else{
echo '当前注册的账户名为:'.$str.'<br />当前账户名验证规则'.$preg.'<br />';
echo '验证结果为:<b style="color:green">不符合要求</b>';
}
}
email();
// 拆解
///^获取开头
//[a-zA-Z0-9_.-]+ 大小写字母0-9允许下划线或.-,条件调用1到多次
// @[a-zA-Z0-9-]+ 邮箱的@xx 其中xx运行一次或多次
//(\.[a-zA-Z0-9-]+)* 邮箱的.cn之类的那一部分
// \.[a-zA-Z0-9]{2,6}$/'; 邮箱的.cn后的二级域名部分