= $min && $str <= $max; if(is_string($str))return IString::getStrLen($str) >= $min && IString::getStrLen($str) <= $max; return false; } /** * @brief 电话号码验证 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function phone($str='') { return (bool)preg_match('/^((\d{3,4})|\d{3,4}-)?\d{3,8}(-\d+)*$/i',$str); } /** * @brief 手机号码验证 * @param string $str * @return bool 验证通过返回 true 不通过返回 false */ public static function mobi($str='') { return (bool)preg_match("!^1[3|4|5|7|8][0-9]\d{4,8}$!",$str); } /** * @brief Url地址验证 * @param string $str 要检测的Url地址字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function url($str='') { return (bool)preg_match('/^[a-zA-z]+:\/\/(\w+(-\w+)*)(\.(\w+(-\w+)*))+(\/?\S*)?$/i',$str); } /** * @brief 正则验证接口 * @param mixed $reg 正则表达式 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function check($reg, $str='') { return (bool)preg_match('/^'.$reg.'$/i',$str); } /** * @brief 判断字符串是否为空 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function required($str) { return (bool)preg_match('/\S+/i',$str); } /** * @brief 百分比数字 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function percent($str) { return (bool)preg_match('/^[1-9][0-9]*$/',$str); } /** * @brief 用户名 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function name($str,$minlen=2, $maxlen=20) { return (bool)preg_match("!^[\w\x{4e00}-\x{9fa5}]{".$minlen.",".$maxlen."}$!u",$str); } /** * @brief 文件名或者文件路径 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function filename($str) { //禁止跨越目录 if(strpos($str,"..") !== false) { return false; } return (bool)preg_match("%^[\w\./:/!]+$%",$str); } /** * @brief 常用检索过滤 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function strict($str) { return (bool)preg_match("|^[\w\.\,\-<>=\!\x{4e00}-\x{9fa5}\s*]+$|u",$str); } /** * add by Scott Chen on 2017-11-03 * @brief 身份证18位格式验证 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function id_ex_18($str='') { return (bool)preg_match('/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/i',$str); } /** * add by Scott Chen on 2017-11-03 * @brief 身份证15位格式验证 * @param string $str 需要验证的字符串 * @return bool 验证通过返回 true 不通过返回 false */ public static function id_ex_15($str='') { return (bool)preg_match('/^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/i',$str); } }