180 lines
3.3 KiB
PHP
180 lines
3.3 KiB
PHP
<?php
|
||
/**
|
||
* 字符检查插件
|
||
*/
|
||
|
||
class checkChajian extends Chajian{
|
||
|
||
/**
|
||
* 是否为邮箱
|
||
*/
|
||
public function isemail($str)
|
||
{
|
||
if(isempt($str))return false;
|
||
return filter_var($str, FILTER_VALIDATE_EMAIL);
|
||
}
|
||
|
||
/**
|
||
* 是否为手机号
|
||
*/
|
||
public function ismobile($str)
|
||
{
|
||
if(isempt($str))return false;
|
||
if(!is_numeric($str) || strlen($str)<5)return false;
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 判断是否为国内手机号
|
||
*/
|
||
public function iscnmobile($str)
|
||
{
|
||
if(isempt($str))return false;
|
||
if(!is_numeric($str) || strlen($str)!=11)return false;
|
||
if(!preg_match("/1[3458769]{1}\d{9}$/", $str))return false;
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* 是否有中文
|
||
*/
|
||
public function isincn($str)
|
||
{
|
||
return preg_match("/[\x7f-\xff]/", $str);
|
||
}
|
||
|
||
//是否整个的英文a-z,0-9
|
||
public function iszgen($str)
|
||
{
|
||
if(isempt($str))return false;
|
||
if($this->isincn($str)){
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
//返回字符串编码
|
||
public function getencode($str)
|
||
{
|
||
$encode = mb_detect_encoding($str, array('ASCII','UTF-8','GB2312','GBK','BIG5'));
|
||
$encode = strtolower($encode);
|
||
return $encode;
|
||
}
|
||
|
||
/**
|
||
* 是否为数字
|
||
*/
|
||
public function isnumber($str)
|
||
{
|
||
if(isempt($str))return false;
|
||
return is_numeric($str);
|
||
}
|
||
|
||
/**
|
||
* 字符是否包含数字
|
||
*/
|
||
public function isinnumber($str)
|
||
{
|
||
return preg_match("/[0-9]/", $str);
|
||
}
|
||
|
||
/**
|
||
* 是否为日期
|
||
*/
|
||
public function isdate($str)
|
||
{
|
||
return preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $str);
|
||
}
|
||
|
||
/**
|
||
* 是否为日期时间
|
||
*/
|
||
public function isdatetime($str)
|
||
{
|
||
return preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/", $str);
|
||
}
|
||
|
||
/**
|
||
* 是否为月份
|
||
*/
|
||
public function ismonth($str)
|
||
{
|
||
return preg_match("/^([0-9]{4})-([0-9]{2})$/", $str);
|
||
}
|
||
|
||
/**
|
||
* 过滤字母,只留数字
|
||
*/
|
||
public function onlynumber($str)
|
||
{
|
||
return preg_replace('/[a-zA-Z]/','', $str);
|
||
}
|
||
|
||
/**
|
||
* 仅支持0-9A-Za-z - |
|
||
* return boolean
|
||
*/
|
||
public function onlynoen($str)
|
||
{
|
||
$str1 = ''.$str.'';
|
||
$bobg = preg_replace("/[a-zA-Z0-9_]/",'', $str1);
|
||
$bobg = str_replace(array('-','|'),'', $bobg);
|
||
return $bobg;
|
||
}
|
||
|
||
/**
|
||
* 替换空格
|
||
*/
|
||
public function replacekg($str)
|
||
{
|
||
$str = preg_replace('/\s*/', '', $str);
|
||
$qian = array(" "," ","\t","\n","\r");
|
||
return str_replace($qian, '', $str);
|
||
}
|
||
|
||
public function removeEmojiChar($str)
|
||
{
|
||
$mbLen = mb_strlen($str);
|
||
$strArr = array();
|
||
for ($i = 0; $i < $mbLen; $i++) {
|
||
$mbSubstr = mb_substr($str, $i, 1, 'utf-8');
|
||
if (strlen($mbSubstr) >= 4) {
|
||
continue;
|
||
}
|
||
$strArr[] = $mbSubstr;
|
||
}
|
||
return implode('', $strArr);
|
||
}
|
||
|
||
|
||
/**
|
||
* 判断是不是内网地址
|
||
*/
|
||
public function isneiurl($str)
|
||
{
|
||
$strt = strtolower($str);
|
||
$strt = str_replace($strt, 'https:', 'http:');
|
||
$nearr= array('localhost','127.0.0','192.','10.','172.');
|
||
$bool = false;
|
||
foreach($nearr as $ip){
|
||
if(contain($str, 'http://'.$ip.'')){
|
||
$bool = true;
|
||
break;
|
||
}
|
||
}
|
||
return $bool;
|
||
}
|
||
|
||
/**
|
||
* 过滤sql的
|
||
*/
|
||
public function onlysql($str)
|
||
{
|
||
$str = $this->rock->iconvsql($str);
|
||
$str = str_replace('(','(', $str);
|
||
$str = str_replace(')',')', $str);
|
||
$str = str_replace(',',',', $str);
|
||
return $str;
|
||
}
|
||
|
||
} |