常用字符串合法判断方法一
发布时间:2015-10-14, 15:47:29 分类:PHP | 编辑 off 网址 | 辅助
正文 1865字数 173,356阅读
/**
* 是否合法的email
* @param string $str
* @return string||false
*/
function is_email($str=''){
return preg_match('/^[\w\d\_\.]+\@[\w\d\_\.\-]+\.[\w\d]{2,4}$/',str_replace('%40','@',$str));
}
//是否是中文
function is_chinese($str=''){
return preg_match("/^[\x80-\xff]+$/",$str);
}
//是否是手机号码
function is_mobile($str=''){
return preg_match("/^1[34589]\d{9}$/",$str);
}
//是否是QQ号码
function is_qq($str=''){
return preg_match("/^\d{5,15}$/",$str);
}
//是否是正确的用户名 英文数字加下划线,4-16位
function is_uname($str=''){
return chk_string($str);
return preg_match("/^[\w\d\_]{4,20}$/",$str);
}
//是否是正确的密码,不能有空格单引号和双引号,6-20位
function is_pwd($str=''){
return true;
}
//是否合法的日期
function is_date($string){
$arr=explode('-',$string);
return checkdate($arr[1],$arr[2],$arr[0])?true:false;
}
//是否合法的身份证
function is_idcard($idcard=''){
if (strlen($idcard) != 18)return false;
$idcard_base = substr($idcard, 0, 17);
if (strlen($idcard_base) != 17) return false;
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$checksum = 0;
for ($i = 0; $i < strlen($idcard_base); $i++) {
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
if ($verify_number == strtoupper(substr($idcard, 17, 1)))return true;
return false;
}
/**
*检查字符串是否合法,合法则返回真,不合法则返回假,不能含有特殊符号
*@param string $str
*@return bool
*/
function chk_string($str=''){
return $str?preg_match('/^[a-zA-Z0-9\x80-\xff\_\@\.]+?$/',$str):false;
}
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »