php常用函数格式验证篇
Posted 天 梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php常用函数格式验证篇相关的知识,希望对你有一定的参考价值。
验证手机号是否正确
/** * 验证手机号是否正确 * @param INT $mobile */ function isMobile($mobile) { if (is_numeric($mobile)) { return preg_match(‘#^13[d]{9}$|^14[5,7]{1}d{8}$|^15[^4]{1}d{8}$|^17[0,6,7,8]{1}d{8}$|^18[d]{9}$#‘, $mobile) ? true : false; } return false; }
验证用户名
/** * 验证用户名 * @param string $username * 用户名2-18个字符 * 开头只能为a-z,A-Z以及中文非符号字符 */ function isUserName($username) { $mb_len = mb_strlen($username, ‘utf-8‘); if ($mb_len >= 2 && $mb_len <= 18) {//长度不对 if (preg_match(‘/^[a-zA-Zx{4E00}-x{9FFF}][a-zA-Z0-9_x{4E00}-x{9FFF}]+$/u‘, $username)) { return true; } } return false; }
检查是否属于身份证号
/** * 检查是否属于身份证号 * @param string $number 传入的身份证号 * @return bool */ function isIdCard($number) { if (empty($number)) { return false; } // 转化为大写,如出现x $number = strtoupper($number); //加权因子 $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //校验码串 $ai = array(‘1‘, ‘0‘, ‘X‘, ‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘); //按顺序循环处理前17位 $sigma = 0; for ($i = 0; $i < 17; $i++) { //提取前17位的其中一位,并将变量类型转为实数 $b = (int)$number{$i}; //提取相应的加权因子 $w = $wi[$i]; //把从身份证号码中提取的一位数字和加权因子相乘,并累加 $sigma += $b * $w; } //计算序号 $snumber = $sigma % 11; //按照序号从校验码串中提取相应的字符进行比较 if ($number{17} == $ai[$snumber]) { return true; } else { return false; } }
根据身份证号码获取性别
/** * 根据身份证号码获取性别 * @param string $cid 身份证号 * @return string 性别 */ function getSex($cid) { if (isIdCard($cid)) { return (int)substr($cid, 16, 1) % 2 === 0 ? ‘女士‘ : ‘先生‘; } return ‘‘; }
检测E-Mail格式
/** * 检测E-Mail格式 * @param string $email * email大于6个字符 */ function is_email($email) { return strlen($email) > 6 && preg_match("/^[w-.]+@[w-.]+(.w+)+$/",$email); }
验证手机号是否正确
/**
* 验证手机号是否正确
* @param INT $mobile
*/
function isMobile($mobile)
{
if (is_numeric($mobile)) {
return preg_match(‘#^13[d]{9}$|^14[5,7]{1}d{8}$|^15[^4]{1}d{8}$|^17[0,6,7,8]{1}d{8}$|^18[d]{9}$#‘, $mobile) ? true : false;
}
return false;
}
验证用户名
/**
* 验证用户名
* @param string $username
* 用户名2-18个字符
* 开头只能为a-z,A-Z以及中文非符号字符
*/
function isUserName($username)
{
$mb_len = mb_strlen($username, ‘utf-8‘);
if ($mb_len >= 2 && $mb_len <= 18) {//长度不对
if (preg_match(‘/^[a-zA-Zx{4E00}-x{9FFF}][a-zA-Z0-9_x{4E00}-x{9FFF}]+$/u‘, $username)) {
return true;
}
}
return false;
}
检查是否属于身份证号
/**
* 检查是否属于身份证号
* @param string $number 传入的身份证号
* @return bool
*/
function isIdCard($number)
{
if (empty($number)) {
return false;
}
// 转化为大写,如出现x
$number = strtoupper($number);
//加权因子
$wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
//校验码串
$ai = array(‘1‘, ‘0‘, ‘X‘, ‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘);
//按顺序循环处理前17位
$sigma = 0;
for ($i = 0; $i < 17; $i++) {
//提取前17位的其中一位,并将变量类型转为实数
$b = (int)$number{$i};
//提取相应的加权因子
$w = $wi[$i];
//把从身份证号码中提取的一位数字和加权因子相乘,并累加
$sigma += $b * $w;
}
//计算序号
$snumber = $sigma % 11;
//按照序号从校验码串中提取相应的字符进行比较
if ($number{17} == $ai[$snumber]) {
return true;
} else {
return false;
}
}
根据身份证号码获取性别
/**
* 根据身份证号码获取性别
* @param string $cid 身份证号
* @return string 性别
*/
function getSex($cid)
{
if (isIdCard($cid)) {
return (int)substr($cid, 16, 1) % 2 === 0 ? ‘女士‘ : ‘先生‘;
}
return ‘‘;
}
验证手机号是否正确
/**
* 验证手机号是否正确
* @param INT $mobile
*/
function isMobile($mobile)
{
if (is_numeric($mobile)) {
return preg_match(‘#^13[d]{9}$|^14[5,7]{1}d{8}$|^15[^4]{1}d{8}$|^17[0,6,7,8]{1}d{8}$|^18[d]{9}$#‘, $mobile) ? true : false;
}
return false;
}
检测E-Mail格式
/**
* 检测E-Mail格式
* @param string $email
* email大于6个字符
*/
function is_email($email)
{
return strlen($email) > 6 && preg_match("/^[w-.]+@[w-.]+(.w+)+$/",$email);
}
以上是关于php常用函数格式验证篇的主要内容,如果未能解决你的问题,请参考以下文章