PHP匹配正则自动验证表单-表单验证器
<?php
/**
* 正则自动验证传入数据
*
* @Author luke.wu
*
* @param string $keyword 传入的关键字要检索的范围
* @param string $string 需要用正则匹配的内容
*
* @return bool
*/
function is_string_regular_type(string $keyword, string $string):bool
{
//中文关键字
$chinaKeyword = array('CNM', 'CNQJ', '草', '艹', '草泥马', '操你妈', '草你全家', '全四家', '死去吧', '死全家', '死吧', '游戏', '马云', '马化腾', '房事', '丰满', '人流', '美胸', '男人', '增粗', '堕胎', '下班', '整容', '妊娠', '男性', '女', '情趣', '肛裂', '性趣', '鼻炎', '美女', '功夫汤', '爆', '白带', '老婆', '催情', '紧', '丰胸', '女人', '女性', '胸', '阿波罗', '癌症', '满足', '老总', '狐臭', '糜烂', '成人', '痔疮', '勃起', '医疗', '红肿', '尖叫', '整形', '早泄', '生殖器', '小儿脑瘫', '激情', '又粗又大', '排卵', '性交', '痛经', '性福', '避孕', 'maxman', '妇科病', '性', '计生', '瘦身', '无痛', '个人护理', '前列腺', '射精', '包茎', '乳腺', '夜', '偷偷', '包皮', '硬', '停经', '阴茎', '公关', '偷看', '透视', '减肥', '考试设备', '缩阴', '遗精', '性病', '阳萎', '聚光体', '妇科', '男科', '老公', '泌尿', '阳痿', '增高', '持久', '白领', '阴道', '美容', '增大', '意外怀孕', '牛逼', '抽奖', '摇奖', '情侣', '三点', '小弟弟', '黄色', '邪恶', '丝袜', '成人', '18禁', '18禁止', '十八禁止', '事变', '狗日的', '垃圾', '废物', '傻逼', '煞笔', '傻比', '沙比', '蠢猪', '婊子', '贱人', '贱货', '贱逼', '色女', '母狗', '跳蛋', '自慰', '手淫', '射精', '内射', '颜射', '乳射', '操你', '草你', '日你', '日死你', '打炮', '打野炮', '插入', '插你', '插逼', '狂插', '干你', '操逼', '肏逼', '日逼', '淫逼', '美臀', '胴(dòng)体', '阴毛', '美穴', '阴户', '阴毛', '阴道', '人民大会堂', '任命大会堂', '阴唇', '小穴', '咪咪', '奶子', '乳房', '乳头', '子宫', '阴茎', '阴囊', '阳具', '龟头', '肉棒', '鸡鸡', '小鸡鸡', '下体', '暴动', '恐怖', '自杀', '投毒', '破坏', '叛乱', '屠杀', '虐待', '杀人', '抢劫', '走私', '贿赂', '偷渡', '强奸', '轮奸', '轮暴', '操死', '干死你', '镇压', '法院', '检察院', '起诉', '省长', '公安', '民警', '警察', '武警', '人民', '政府', '中南海', '人大', '总理', '人民代表大会', '政协', '政治协商会议', '共产党', '国民党', '民主党', '佛教', '伊斯兰', '基督教', '安拉', '耶稣。帝国主义', '军国主义', '独裁', '主义', '独裁主义', '禽流感', '台湾', '台独', '台盟', '藏独', '蒙独', '达赖', '喇嘛', '法轮', '法论', '自焚', '钓鱼岛', '希特勒', '法西斯', '黑社会', '日本', '美国', '俄国', '朝鲜', '抗日', '小泉', '天皇', '国军', '共军', '毛泽东', '毛主席', '刘少奇', '朱德', '周恩来', '周总理', '邓小平', '江泽民', '江主席', '胡锦涛', '胡主席', '习近平', '朱镕基', '朱总理', '温家宝', '温总理', '蒋介石', '蒋经国', '连战', '华国锋', '赵紫阳', '李鹏', '李克强', '叶剑英', '林彪', '江青', '金正日', '金日成', '国家级', '世界级', '最高级', '最佳', '国家级产品', '全网销售第一', '全球首发', '全国首家', '全网首发', '等级工艺', 'NO.1', 'Top1', '极致', '永久', '掌门人', '领袖品牌', '赌博', '博彩类', '水果机', '老虎机', '大富翁游戏', '彩票', '六合彩', '特码', '军警用武器装备', '色情类:丝足按摩', '情趣养生', '保健类', '伟哥', '延时药剂', '印度神油', 'ATT黑牛', '警用', '枪支类', '警徽', '警用类产品', '各类枪支', '仿真枪', '弩', '手铐', '电子手铐', '审讯记录系统', '审讯椅', '审讯设备', '发票', '车票类:发票', '代开发票', '跟踪', '调查类', '私家侦探', '婚外情调查', '跟踪监视', '债务', '催讨类', '债务催收', '要账', '债务清算', '催账调查', '套卡', '套现类', '信用卡代还', '社保卡套现', '基金投资套现', '违章', '非法类', '卫星电视', '电话安装', '信号干扰器', '妨碍交通管理产品', '反雷达测速仪', '地磅遥控器', '干扰器', '解码器', '银行卡复制设备', '股票债券等股权转让', '黄页', '企业名录', '民间借贷',);
//验证格式
$type_array = array(
//用户名
'username' => array(
//格式类型验证
'type' => array(
'code' => '/^\w ((-\w )|(\.\w ))*\w [A-Za-z0-9]/',
'success' => '用户名验证格式正确',
'error' => '仅支持字母、数字和-、_、@、.的组合',
),
//格式类型长度验证
'number' => array(
'code' => '/^\w ((-\w )|(\.\w ))*\w [A-Za-z0-9]{4,20}/',
'success' => '用户名长度正确',
'error' => '帐号建议4~32个字符',
),
),
//邮箱
'email' => array(
//格式类型验证
'type' => array(
'code' => '/^\w ((-\w )|(\.\w ))*\@[A-Za-z0-9] ((\.|-)[A-Za-z0-9] )*\.[A-Za-z0-9] $/',
'success' => '邮箱格式正确',
'error' => '邮箱格式不正确',
),
),
//密码
'password' => array(
//格式类型验证
'type' => array(
'code' => '/^[0-9a-zA-Z_!!@#$%^&*()]{0,20}$/',
'success' => '密码格式正确',
'error' => '密码格式不正确',
),
//格式类型长度验证
'number' => array(
'code' => '/^\w ((-\w )|(\.\w ))*\w [A-Za-z0-9]{4,20}/',
'success' => '密码长度正确',
'error' => '密码应6~20个字符',
),
),
//手机号
'phone' => array(
//验证格式
'type' => array(
'code' => '/^1[345678]\d{9}$/',
'success' => '手机号格式正确',
'error' => '手机号格式与长度不正确',
),
),
//企业名称
'companyname' => array(
//验证是否存在非法汉字
'chinese' => array(
'code' => $chinaKeyword,
'success' => '企业名称正确',
'error' => '企业名称存在非法汉字',
),
//格式类型长度验证
'number' => array(
'code' => '/^[\x{4e00}-\x{9fa5}][A-Za-z0-9-_()-()]{4,40}$/u',
'success' => '企业名称长度格式正确',
'error' => '企业名称应为由中英文、数字及-、_、()、()组成,应为4-40个字符',
),
),
//真实姓名
'realname' => array(
//验证是否存在非法汉字
'chinese' => array(
'code' => $chinaKeyword,
'success' => '姓名正确',
'error' => '姓名存在非法汉字',
),
//格式类型长度验证
'number' => array(
'code' => '/^[\x{4e00}-\x{9fa5}]{2,10}$/u',
'success' => '姓名格式正确',
'error' => '姓名格式不正确',
),
),
//昵称
'nickname' => array(
//验证是否存在非法汉字
'chinese' => array(
'code' => $chinaKeyword,
'success' => '昵称正确',
'error' => '昵称存在非法汉字',
),
//格式类型长度验证
'number' => array(
'code' => '/.{3,20}/',
'success' => '昵称格式与长度正确',
'error' => '昵称长度应2-6个字符',
), //*/
),
);
//将数组转换为一维,拿出KEY
foreach ($type_array as $k => $v) {
$type_array_if[] = $k;
}
//匹配是否存在该键
if (in_array($keyword, $type_array_if)) {
foreach ($type_array[$keyword] as $k => $v) {
//汉字验证
$string = str_replace($v['chinacode'], '*****', $string);
}
//存在该关键字
foreach ($type_array[$keyword] as $k => $v) {
//验证是否非汉字
if ($k != 'chinese') {
//正则比配
$preg_match_chek = preg_match($v['code'], $string);
if ($preg_match_chek == 0) {
//结果为0 代表存在不正确的字符
return array('status' => 0, 'result' => $v['error'], 'message' => $string);
}
}
}
//结果为1 代表字符完全正确
return array('status' => 1, 'result' => $v['s本文出至:学新通博客网络博客uccess'], 'message' => $string);
} else {
//不存在该关键字
return array('status' => 1, 'result' => '不存在此验证方法', 'keyword' => $keyword, 'message' => $string);
}
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanecej
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24