提供一款檢查php表單檢證與檢查效果代碼。
function validate($value,$onoff=0,$type=3,$len=100,$msg='填寫錯誤') {
if(trim($value) != ""){ //如果有內容
if(!is_int($len))
exit("<script language=javascript>alert('長度參數不是數字');</script>");
preg_match_all("/[xa0-xff]?./",$value,$arr); //中英文混排算字符串長度
$qswhLen_v=count($arr[0]);
if($qswhLen_v> $len)
{
exit("<script language=javascript>alert('".$msg."n長度錯誤!');</script>");
}
if ($type==0){ //類型為0的話 檢查數據是否為數字
if(!eregi('^[0-9]+$', $value)){
exit("<script language=javascript>alert('".$msg."n必須是數字!');</script>");
}
}
else if ($type==1){ //類型為1的話 檢查數據是否為字母
if(!eregi('^[a-zA-Z]+$',$value)){
exit("<script language=javascript>alert('".$msg."n必須是字母!');</script>");
}
}
else if ($type==2){ //類型為2的話 檢查數據是否為中文
if(!eregi("^[".chr(0xa1)."-".chr(0xff)."]+$",$value)){
exit("<script language=javascript>alert('".$msg."n必須是中文!');</script>");
}
}
else if ($type==3){ //類型為3的話 檢查數據是否為字母和數字
if(!eregi('^[0-9a-zA-Z]+$',$value)){
exit("<script language=javascript>alert('".$msg."n必須是字母和數字!');</script>");
}
}
else if ($type==4){ //類型為4的話 email檢查
if(!eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z_-]+.)+[a-zA-Z]$", $value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==5){ //類型為5的話 日期格式檢查
if(!eregi('^[1-2]{1}[0-9]{3}-[0-9]{2}-[0-9]{2}',$value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==6){ //類型為6的話 身份證號碼格式檢查
if(!preg_match('/(^([d]{15}|[d]{18}|[d]{17}x)$)/',$value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==7){ //類型為7的話 電話號碼格式檢查
if(!preg_match("/^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}$/",$value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==8){ //類型為8的話 郵編格式檢查
if(!preg_match("/^[1-9]d{5}$/",$value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==9){ //類型為9的話 url地址格式檢查
if(!preg_match("/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/",$value)){
exit("<script language=javascript>alert('".$msg."n格式錯誤!');</script>");
}
}
else if ($type==10){ //類型為10的話 無限制
}else{
echo "<script language=javascript>alert('類別錯誤');</script>";
exit;
}
}else{
if($onoff!=0){
echo "<script language=javascript>alert('".$msg."n請添寫".$msg."');</script>";
exit;
}
}
}