Article Detail

常用字符串合法判断方法一

/** * 是否合法的email * @param string $str * @return string||false */ function is_ema...

PHP 阅读 17.6万 6 分钟阅读 2015-10-14 15:47
JavaScript
63 行
 
/**
 * 是否合法的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;
}
 
Comments 评论区
评论区 当前文章还没有公开评论
Comment Form 留下评论
正在回复 #0
粘贴图片、拖拽文件,或点上面的按钮上传 图片会自动插入 [img] 标签,其他附件会自动插入 [attach] 标签。
正在上传...
提交前会先拉起旧项目同款第三方人机验证。

不再要求填写昵称;reply 会生成一条带楼层回链的新评论,quote 会附带完整引用块,并保持评论锚点跳转。

lizhenqiu blog is powered by lizhenqiu.com Version 6.9

Processed in 0.0066 second(s) W3C

本博客的所有原创作品采用 知识共享 署名-非商业性使用-相同方式共享 2.5 协议 进行许可

本站由 七七牛 云存储 阿阿里云 计算与安全服务 拍又拍云 CDN 加速 百百度智能 AAMH 布布集网 AI指南针AI

桂公网安备 45010302000998号 桂ICP备15007619号-1 中国互联网举报中心 建议使用谷歌浏览器浏览
Navigation 文章导航
⌂ ↓ ↑
100%
图片预览
Gallery 图集
0 张图片

正在整理正文和评论里的图片。

当前页还没有可展示的图片。
Quick Comment 快速评论

直接输入内容,提交时仍会走当前页面的人机验证。

正在上传...
操作提示