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常用函数格式验证篇的主要内容,如果未能解决你的问题,请参考以下文章

php实现验证邮箱格式的代码实例

PHP常用代码片段

easyUI validate函数总结篇-部分转

php学习篇~函数

原生JavaScript判断是否为邮箱危险字符验证长度验证网址验证小数整数浮点数等常用的验证

配置 VScode 编辑器 (前端篇)