一些常用验证函数
<?
function is_qq($str){
return preg_match("/^[1-9]\d{4,8}$/", $str);
}
function is_zip($str){
return preg_match("/^[1-9]\d{5}$/", $str);
}
function is_idcard($str){
return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/", $str);
}
function is_chinese($str){
return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);
}
function is_english($str){
return preg_match("/^[A-Za-z]+$/", $str);
}
function is_mobile($str){
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str);
}
function is_phone($str){
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/", $str);
}
?>
收藏主页
<?
function fav($url,$name){
return "onclick='window.external.AddFavorite(\"$url\",\"$name\")' target='_self'";
}
?>
设为主页
<?
function home($url){
return "onclick='this.style.behavior="url(#default#homepage)";this.setHomePage(\"".$url."\")' target='_self'";
}
?>
检测URL地址有效性
<?
function is_url($str){
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str);
}
?>
检查是否为一个合法的时间格式
<?
/**
* 检查是否为一个合法的时间格式
*
* @access public
* @param string $time
* @return void
*/
function is_time($time)
{
$pattern = '/[\d]{4}-[\d]{1,2}-[\d]{1,2}\s[\d]{1,2}:[\d]{1,2}:[\d]{1,2}/';
return preg_match($pattern, $time);
}
?>
验证输入的邮件地址是否合法
<?
/**
* 验证输入的邮件地址是否合法
*
* @access public
* @param string $email 需要验证的邮件地址
*
* @return bool
*/
function is_email($user_email)
{
$chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false)
{
if (preg_match($chars, $user_email))
{
return true;
} else
{
return false;
}
} else
{
return false;
}
}
?>
对要输入的字符串进行转换
<?
function char_cv($string)
{
return nl2br(str_replace(' ', ' ', htmlspecialchars($string, ENT_QUOTES)));
}
?>
对要输出的字符串进行反转换
<?
function Char_rev($msg){
$msg = str_replace('&','&',$msg);
$msg = str_replace(' ',' ',$msg);
$msg = str_replace('"','"',$msg);
$msg = str_replace("'","'",$msg);
$msg = str_replace("<","<",$msg);
$msg = str_replace(">",">",$msg);
$msg = str_replace(" ","\t",$msg);
$msg = str_replace("","\r",$msg);
$msg = str_replace(" "," ",$msg);
$msg = str_replace("<br>","\n",$msg);
$msg = str_replace("<br />","\n",$msg);
return $msg;
}
?>
计算字符串的长度(汉字按照两个字符计算)
<?
function str_len($str)
{
$length = strlen(preg_replace('/[\x00-\x7F]/', '', $str));
if ($length)
{
return strlen($str) - $length + intval($length / 3) * 2;
}
else
{
return strlen($str);
}
}
?>
截取指定长度字符串
<?
function sub_str($str, $length = 0, $append = true)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength)
{
return $str;
}
获得用户操作系统的换行符
<?
function get_crlf()
{
/* LF (Line Feed, 0x0A, \N) 和 CR(Carriage Return, 0x0D, \R) */
if (stristr($_SERVER['HTTP_USER_AGENT'], 'Win'))
{
$the_crlf = '\r\n';
}
elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Mac'))
{
$the_crlf = '\r'; // for old MAC OS
}
else
{
$the_crlf = '\n';
}
return $the_crlf;
}
?>
elseif ($length < 0)
{
$length = $strlength + $length;
if ($length < 0)
{
$length = $strlength;
}
}
if (function_exists('mb_substr'))
{
$newstr = mb_substr($str, 0, $length, EC_CHARSET);
}
elseif (function_exists('iconv_substr'))
{
$newstr = iconv_substr($str, 0, $length, EC_CHARSET);
}
else
{
$newstr = trim_right(substr($str, 0, $length));
}
if ($append && $str != $newstr)
{
$newstr .= '...';
}
return $newstr;
}
?>
获得用户的真实IP地址
<?
/**
* 获得用户的真实IP地址
*
* @access public
* @return string
*/
function real_ip()
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
foreach ($arr AS $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}
?>
对输入JS进行转换
<?
function str_safe($string)
{
$searcharr = array("/(javascript|jscript|js|vbscript|vbs|about):/i","/on(mouse|exit|error|click|dblclick|key|load|unload|change|move|submit|reset|cut|copy|select|start|stop)/i","/<script([^>]*)>/i","/<iframe([^>]*)>/i","/<frame([^>]*)>/i","/<link([^>]*)>/i","/@import/i");
$replacearr = array("\\1\n:","on\n\\1","<script\\1>","<iframe\\1>","<frame\\1>","<link\\1>","@\nimport");
$string = preg_replace($searcharr,$replacearr,$string);
$string = str_replace("&#","&\n#",$string);
return $string;
}
?>
<?
function is_qq($str){
return preg_match("/^[1-9]\d{4,8}$/", $str);
}
function is_zip($str){
return preg_match("/^[1-9]\d{5}$/", $str);
}
function is_idcard($str){
return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/", $str);
}
function is_chinese($str){
return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);
}
function is_english($str){
return preg_match("/^[A-Za-z]+$/", $str);
}
function is_mobile($str){
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str);
}
function is_phone($str){
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/", $str);
}
?>
收藏主页
<?
function fav($url,$name){
return "onclick='window.external.AddFavorite(\"$url\",\"$name\")' target='_self'";
}
?>
设为主页
<?
function home($url){
return "onclick='this.style.behavior="url(#default#homepage)";this.setHomePage(\"".$url."\")' target='_self'";
}
?>
检测URL地址有效性
<?
function is_url($str){
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str);
}
?>
检查是否为一个合法的时间格式
<?
/**
* 检查是否为一个合法的时间格式
*
* @access public
* @param string $time
* @return void
*/
function is_time($time)
{
$pattern = '/[\d]{4}-[\d]{1,2}-[\d]{1,2}\s[\d]{1,2}:[\d]{1,2}:[\d]{1,2}/';
return preg_match($pattern, $time);
}
?>
验证输入的邮件地址是否合法
<?
/**
* 验证输入的邮件地址是否合法
*
* @access public
* @param string $email 需要验证的邮件地址
*
* @return bool
*/
function is_email($user_email)
{
$chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false)
{
if (preg_match($chars, $user_email))
{
return true;
} else
{
return false;
}
} else
{
return false;
}
}
?>
对要输入的字符串进行转换
<?
function char_cv($string)
{
return nl2br(str_replace(' ', ' ', htmlspecialchars($string, ENT_QUOTES)));
}
?>
对要输出的字符串进行反转换
<?
function Char_rev($msg){
$msg = str_replace('&','&',$msg);
$msg = str_replace(' ',' ',$msg);
$msg = str_replace('"','"',$msg);
$msg = str_replace("'","'",$msg);
$msg = str_replace("<","<",$msg);
$msg = str_replace(">",">",$msg);
$msg = str_replace(" ","\t",$msg);
$msg = str_replace("","\r",$msg);
$msg = str_replace(" "," ",$msg);
$msg = str_replace("<br>","\n",$msg);
$msg = str_replace("<br />","\n",$msg);
return $msg;
}
?>
计算字符串的长度(汉字按照两个字符计算)
<?
function str_len($str)
{
$length = strlen(preg_replace('/[\x00-\x7F]/', '', $str));
if ($length)
{
return strlen($str) - $length + intval($length / 3) * 2;
}
else
{
return strlen($str);
}
}
?>
截取指定长度字符串
<?
function sub_str($str, $length = 0, $append = true)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength)
{
return $str;
}
获得用户操作系统的换行符
<?
function get_crlf()
{
/* LF (Line Feed, 0x0A, \N) 和 CR(Carriage Return, 0x0D, \R) */
if (stristr($_SERVER['HTTP_USER_AGENT'], 'Win'))
{
$the_crlf = '\r\n';
}
elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Mac'))
{
$the_crlf = '\r'; // for old MAC OS
}
else
{
$the_crlf = '\n';
}
return $the_crlf;
}
?>
elseif ($length < 0)
{
$length = $strlength + $length;
if ($length < 0)
{
$length = $strlength;
}
}
if (function_exists('mb_substr'))
{
$newstr = mb_substr($str, 0, $length, EC_CHARSET);
}
elseif (function_exists('iconv_substr'))
{
$newstr = iconv_substr($str, 0, $length, EC_CHARSET);
}
else
{
$newstr = trim_right(substr($str, 0, $length));
}
if ($append && $str != $newstr)
{
$newstr .= '...';
}
return $newstr;
}
?>
获得用户的真实IP地址
<?
/**
* 获得用户的真实IP地址
*
* @access public
* @return string
*/
function real_ip()
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
foreach ($arr AS $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}
?>
对输入JS进行转换
<?
function str_safe($string)
{
$searcharr = array("/(javascript|jscript|js|vbscript|vbs|about):/i","/on(mouse|exit|error|click|dblclick|key|load|unload|change|move|submit|reset|cut|copy|select|start|stop)/i","/<script([^>]*)>/i","/<iframe([^>]*)>/i","/<frame([^>]*)>/i","/<link([^>]*)>/i","/@import/i");
$replacearr = array("\\1\n:","on\n\\1","<script\\1>","<iframe\\1>","<frame\\1>","<link\\1>","@\nimport");
$string = preg_replace($searcharr,$replacearr,$string);
$string = str_replace("&#","&\n#",$string);
return $string;
}
?>
作者:noel@淘宝网女装新款秋装连衣裙裤子外套上衣_2012时尚女装新款 Ecmall二次开发-PHP技术
地址:http://www.laohucheng.com/post/292/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!
用正则加亮关键字
自适应内嵌页面高度
2009
09:46
478
0


