注册 | 登录
欢迎注册会员

当前位置:首页 > 狗万 怎么玩 > js脚本技术 > 正文

一个很不错的验证类,扩展型很好

来源:程序人生 【 】 浏览:768 添加日期:2016-09-16 22:39:29 我要评论(0)
Validate(array("Name,名字只允许中文,chinese",?"Nick,?只允许英文昵称,?english",?"Homepage,?主页Url格式不正确,?url",?"Password,?密码不符合安全规则,?safe","Email,信箱格式错误,email",?"QQ,?QQ号码不存在,?qq","Card,?身份证号码不正确,?idcard","Phone,?电话号码不存在,?phone","Mobile,?手机号码不存在,?mobile","Zip,?邮政编码不存在,?zip"))){?
???echo?$v->error();?
}?
*************************************************/?
????var?$error_item,?$error_message,?$error_mode,?$error_no;?
????function?Validator($mode?=?6){?
????????$this->error_mode?=?$mode;?
????????$this->error_no?=?1;?
????}?
????function?Validate($arr){?
????????if(is_array($arr)){?
????????????$len?=?count($arr);?
????????????for($i?=?0;?$i?is_valid($arr[$i]);?
????????????}?
????????}?
????????if($this->error_no?>?1)return?false;?
????????return?true;?
????}?
????function?is_valid($str){?
????????$str?=?split(",",?$str);?
????????if(count($str)?$method($value))?
????????????????????$this->add_error($name,?$message);?
????????????????break;?
????????}?
????}?
????function?add_error($name,?$message){?
????????$this->error_item?.=?","?.?$name;?
????????$this->error_message?.=?","?.?$this->error_no?.?":"?.?$message;?
????????$this->error_no?++;?
????}?
????function?error($mode=''){?
????????$this->error_item?=?ereg_replace("^,+",?"",?$this->error_item);?
????????$this->error_message?=?ereg_replace("^,+",?"",?$this->error_message);?
????????$mode=(empty($mode))?$this->error_mode:$mode;?
????????switch($mode){?
????????????case?4?:?
????????????????$info?=?"以下原因导致提交失败:				,";?
????????????????echo?"";?
????????????????//print?>>>end;?
????????????????break;?
????????????case?5?:?
????????????????echo?"输入有错误:
  • "?.?ereg_replace(?"d+:",?"",join("
  • ",?split(",",?$this->error_message)))?.?"
";? ????????????????echo?"返回";? ????????????????exit;? ????????????????break;? ????????????case?6:? ????????????????$info="输入有错误:
  • "?.?ereg_replace(?"d+:",?"",join("
  • ",?split(",",?$this->error_message)))?.?"
";? ????????????????$info.="返回";? ????????????????return?$info;? ????????????break;? ????????}? ????}? ????function?is_email($str){? ????????return?preg_match("/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/",?$str);? ????}? ????function?is_url($str){? ????????return?preg_match("/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>"])*$/",?$str);? ????}? ????function?is_qq($str){? ????????return?preg_match("/^[1-9]d{4,8}$/",?$str);? ????}? ????function?is_zip($str){? ????????return?preg_match("/^[1-9]d{5}$/",?$str);? ????}? ????function?is_idcard($str){? ????????return?preg_match("/^d{15}(d{2}[A-Za-z0-9])?$/",?$str);? ????}? ????function?is_chinese($str){? ????????return?ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);? ????}? ????function?is_english($str){? ????????return?preg_match("/^[A-Za-z]+$/",?$str);? ????}? ????function?is_mobile($str){? ????????return?preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/",?$str);? ????}? ????function?is_phone($str){? ????????return?preg_match("/^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}$/",?$str);? ????}? ????function?is_safe($str){? ????????return?(preg_match("/^(([A-Z]*|[a-z]*|d*|[-_~!@#$%^&*.()[]{}<>?\/'"]*)|.{0,5})$|s/",?$str)?!=?0);? ????}? }? ?>

?



给一个简单的演示。


表单验证类?Validator?for?PHP?β



?
??真实姓名:
?
?
??英文名:
?
???
??主页:
?
?
??密码:
?
?
??重复:
?
?
??信箱:
?
???
??信箱:
?
?
??QQ:
?
???
??身份证:
?
?
??年龄:
?
??
??年龄1:
?
??
??电话:
?
??
??手机:
?
????
??生日:
?
??
??邮政编码:
?
?
??邮政编码:
?
?
??操作系统:选择您所用的操作系统Win98Win2kWinXP
?
?
??所在省份:广东陕西浙江江西
?
?
??爱好:运动上网听音乐看书
?
??自我介绍:中文是一个字
?
????自传:中文是两个字节t
?
?
??
?
?


验证文件


Validate(array("Name,名字只允许中文,chinese",?"Nick,?只允许英文昵称,?english",?"Homepage,?主页Url格式不正确,?url",?"Password,?密码不符合安全规则,?safe","Email,信箱格式错误,email",?"QQ,?QQ号码不存在,?qq","Card,?身份证号码不正确,?idcard","Phone,?电话号码不存在,?phone","Mobile,?手机号码不存在,?mobile","Zip,?邮政编码不存在,?zip"))){?
???echo?$v->error();?
}?
?>



你浏览的文章是 - 《一个很不错的验证类,扩展型很好》!
文章出处:https://www.procedurelife.com/content/akkjfb.html
0% (0)
0% (0)
评论0
头像 游客
1 2