<?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;
}
}
}
原文链接:https://www.f2er.com/regex/362460.html