正则表达式(三):一个项目中的过滤类
发布时间:2020-12-14 02:06:17 所属栏目:百科 来源:网络整理
导读:?php/** * @author Administrator *过滤类 *用于存放验证数据合法性的类 */class FilterAction extends Action{/** * @param 被测试的内容 $account * @param 长度限制的数组 $length * @return boolean * utf8下匹配中文、数字、大小写英文、@、. */public
<?php /** * @author Administrator * 过滤类 * 用于存放验证数据合法性的类 */ class FilterAction extends Action{ /** * @param 被测试的内容 $account * @param 长度限制的数组 $length * @return boolean * utf8下匹配中文、数字、大小写英文、@、. */ public static function textAccount($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|@|.){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|@|.){{$length['length']}}$/u"; } preg_match($rule,$content,$result); if(empty($result)){ return false; }else{ return true; } } /** * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean * utf8下匹配一定长度的任意字符 */ public static function testPassword($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^.{{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^.{{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean * utf8下匹配一定长度的数字 */ public static function testPhone($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^d{{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^d{{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试内容是否由中文、英文、数字组成 * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean */ public static function testSiteName($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^[x{4e00}-x{9fa5}0-9a-zA-Z]{{$length['min']},{$length['max']}}$/u"; }else{ echo $rule ="/^[x{4e00}-x{9fa5}0-9a-zA-Z]{{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试内容是否由中文、英文、数字、逗号组成 * 表单包括: ,,* @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean */ public static function testSiteKeywords($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|,|,){{$length['min']},{$length['max']}}$/u"; }else{ echo $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|,|,){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试内容是否由中文、英文、数字、逗号、句号、冒号、叹号、问号组成 * 标点包括:,, . 。 : : ! ! ? ? * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean */ public static function testSiteDescription($content,|,|.|。|:|:|!|!|?|?){{$length['min']},|,|.|。|:|:|!|!|?|?){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试内容是否由中文、英文、数字、逗号、@、?组成 * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean */ public static function testSiteCopyright($content,|,|@|?|-|s){{$length['min']},|,|@|?|-|s){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试内容是否是url * @param string $content * @return boolean */ public static function testUrl($content){ $rule ="/^(https?://)?(((www.)?[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)?.([a-zA-Z]+))|(([0-1]?[0-9]?[0-9]|2[0-5][0-5]).([0-1]?[0-9]?[0-9]|2[0-5][0-5]).([0-1]?[0-9]?[0-9]|2[0-5][0-5]).([0-1]?[0-9]?[0-9]|2[0-5][0-5]))(:d{0,4})?)(/[w- ./?%&=]*)?$/i"; preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * @param 被测试的内容 $content * @param 长度限制的数组 $length * @return boolean * utf8下匹配中文、数字、英文、括号、逗号、顿号、换行、空格 * 标点:,, ( ( ) ) */ public static function testAreaName($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|,|,|(|(|)|)|、|s){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|,|,|(|(|)|)|、|s){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * @param unknown $content * @param unknown $length * @return boolean * utf8下匹配中文、数字、英文、空格、括号、叹号、单引号 */ public static function testSellerName($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|s|(|(|)|)|!|!|'){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|s|(|(|)|)|!|!|'){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * utf-8下匹配二十四小时制的小时时间 * @param unknown $content * @param unknown $length * @return boolean */ public static function testHourTime($content){ $rule = "/^([0-9]|0[0-9]|(1[0-9])|(2[0-4]))$/u"; preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * utf-8匹配分钟 * @param unknown $content * @return boolean */ public static function testSecondTime($content){ $rule ="/^([0-9]|0[0-9]|(1[0-9])|(2[0-9])|3[0-9]|4[0-9]|5[0-9]|6[0-9])$/u"; preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * utf-8下匹配货币格式, * @param 要匹配的内容 $content * @param 位数规范 $length $length['beforePoint']-小数点前的位数;$length['afterPoint']->小数点后的位数 * @return boolean */ public static function testMoney($content,$length = array()){ $rule ="/^([0-9]){1,{$length['beforePoint']}}|([0-9]){1,{$length['beforePoint']}}.[0-9]{1,{$length['afterPoint']}}$/u"; preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * utf8下匹配联系电话 * 匹配内容:数字、括号、横杠 * @param unknown $content * @param unknown $length * @return boolean */ public static function testContactPhone($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^(d|(|(|)|)|-){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^d|(|(|)|)|-{{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * utf8下匹配商家简介 * 中文、数字、英文、逗号、句号、顿号、冒号、叹号、空格、换行、括号、问号 * @param unknown $content * @param unknown $length * @return boolean */ public static function testIntroduce($content,|,|.|、|s|。|:|:|!|!|?|?|(|(|)|)){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|,|,|.|、|s|。|:|:|!|!|?|?|(|(|)|)){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试商家地址信息的正确性 * 中文、英文、数字、括号、逗号、句号 * @param unknown $content * @param unknown $length * @return boolean */ public static function testSellerAddress($content,|,|.|。|(|(|)|)){{$length['min']},|,|.|。|(|(|)|)){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试商家菜品分类信息的正确性 * 中文、数字、英文、括号、顿号、逗号 * @param unknown $content * @param unknown $length * @return boolean */ public static function testSellerMealClassify($content,|,|、|(|(|)|)){{$length['min']},|,|、|(|(|)|)){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试商家活动的 * @param unknown $content * @param unknown $length * @return boolean */ public function testActivity($content,|,|.|。|(|(|)|)|:|:|!|!|s|?|?|-){{$length['min']},|,|.|。|(|(|)|)|:|:|!|!|s|?|?|-){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试商家菜品名称信息的正确性 * 中文、数字、英文、括号、空格、加号 * @param unknown $content * @param unknown $length * @return boolean */ public static function testMeal($content,$length = array()){ if(!isset($length['length'])){ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|s|+|(|(|)|)){{$length['min']},{$length['max']}}$/u"; }else{ $rule ="/^([x{4e00}-x{9fa5}0-9a-zA-Z]|s|+|(|(|)|)){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } /** * 测试商家菜品标记信息的正确性 * 中文、数字、英文、逗号 * @param unknown $content * @param unknown $length * @return boolean */ public static function testMealSign($content,){{$length['min']},){{$length['length']}}$/u"; } preg_match($rule,$result); if(empty($result)){ return false; }else{ return true; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |