厳密な Web 開発プロセスでは、フォーム送信アクションはクライアント側での JS 検証だけでなく、サーバー側でのプログラムを使用した二次検証も不可欠です。
PHP 形式でサーバー側のフォーム フィールドの形式を検証するためのクラスを共有しましょう。
具体的なコードは次のとおりです。
<p><?php</p>/*<br />* author:www.scutephp.com<br />* time:2012-3-31 17:35:42<br />* function:php表单字段格式验证<br />*/<br />class verification{<br /> //验证字符串长度是否在指定范围内[这里只验证半角状态下输入的字符]<br /> function fun_length($str,$min,$max){<br /> return (strlen($str)>$max||strlen($str)<$min)?false:true;<br /> }<br /> //验证是否为指定长度的字母/数字组合 <br /> function fun_text1($num1,$num2,$str){<br /> return (preg_match("/^[a-za-z0-9]{".$num1.",".$num2."}$/",$str))?true:false;<br /> }<br /> //验证是否为指定长度数字 <br /> function fun_text2($num1,$num2,$str){<br /> return (preg_match("/^[0-9]{".$num1.",".$num2."}$/i",$str))?true:false;<br /> }<br /> //验证是否为指定长度汉字 <br /> function fun_font($num1,$num2,$str){<br /> return (preg_match("/^([\x81-\xfe][\x40-\xfe]){".$num1.",".$num2."}$/",$str))?true:false;<br /> }<br /> //验证邮件地址 <br /> function fun_email($str){ <br /> return (preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/',$str))?true:false;<br /> }<br /> //验证电话号码 <br /> function fun_phone($str){<br /> return (preg_match("/^1[358][0123456789]\d{8}$/",$str))?true:false;<br /> }<br /> //验证手机号码<br /> function fun_mobile($str){<br /> return (preg_match("/^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}$/",$str))?true:false;<br /> }<br /> //验证邮编 <br /> function fun_zip($str){<br /> return (preg_match("/^[1-9]d{5}$/",$str))?true:false;<br /> }<br /><p>}</p>
上記のクラスは、ここでは例とともに使用しません。