有可能有些输入,不希望让用户的评论或者私信中含有类似于QQ号,手机号的文本,比如交友网站。还有些恶意SEO通过,构造恶意检索词,检索词中包含QQ,手机号等,让百度爬取到,增加展现。也需要将这些检索词屏蔽掉。numberSafe函数通过GBK码表,判断输入是否包含连续的5个数字,中文数字,数字谐音,或者特殊中文字符(①②Ⅰ Ⅱ等)如果包含返回false,不包含返回true。

function numberSafe($str) {

//阿拉伯数字

$assicNum = array(48,57);

//中文字符

$chineseNum = array(

//特殊数字

'162'=>array(161,255),

//一

'210'=>array(187,239),

//二

'182'=>array(248,256),

'183'=>array(161,161),

//三

'200'=>array(253,256),

'201'=>array(161,162),

//四

'203'=>array(185,200),

//五

'206'=>array(215,243),

//六 零

'193'=>array(224,249),

//七

'198'=>array(218,253),

//八

'176'=>array(197,214),

//九

'190'=>array(190,206),

//十

'202'=>array(166,212)

);

$str = iconv('UTF-8', 'GBK', $str);

$dangoursMax = $dangours = 0;

for ( $i = 0; $i < strlen($str) && $dangouesMax < 5; ) {

$assic = ord($str[$i]);

if ( $assic < 128 ) {

if ( $assic > $assicNum[0] - 1 && $assic < $assicNum[1] + 1 ) {

$dangours++;

} else {

$dangoursMax = max($dangours, $dangoursMax);

$dangours = 0;

}

$i += 1;

} else {

$assicNext = ord($str[$i+1]);

if ( array_key_exists($assic, $chineseNum) && $assicNext > $chineseNum[$assic][0] - 1

&& $assicNext < $chineseNum[$assic][1] + 1 ) {

$dangours++;

} else {

$dangoursMax = max($dangours, $dangoursMax);

$dangours = 0;

}

$i += 2;

}

}

$dangoursMax = max($dangours, $dangoursMax);

return $dangoursMax < 5 ? true : false;

}

测试

var_dump(numberSafe('12345'));   //false

var_dump(numberSafe('一二三四五')); //false

var_dump(numberSafe('一贰叁肆五')); //false

var_dump(numberSafe('衣领511'));    //false

var_dump(numberSafe('⒈⒉⒊⒋⒌')); //false

php判断是否连续出现数字,php通过gbk编码判断 含有连续数字 可用于判断QQ号,手机号等。...相关推荐

  1. 扑克牌中的顺子。从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。

    面试题36:扑克牌中的顺子 1.题目描述 题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2~10为数字本身,A为1,J为11,Q为12,K为13,而大.小王可以看成任意数字 ...

  2. php 判断5张牌是不是顺子,从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续(面试题)...

    从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的2-10位数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字 统计数组中出现的次数,判断等于0,大于1大于2大 ...

  3. 数字字母下划线C语言,【判断题】C语言中的标识符只能由字母、数字和下划线三种字符组成,而且第一个字符只能是字母和下划线。...

    [判断题]C语言中的标识符只能由字母.数字和下划线三种字符组成,而且第一个字符只能是字母和下划线. 更多相关问题 计算机病毒按其寄生方式划分通常可分为().A.系统引导型病毒B.文件型病毒C. 在委托 ...

  4. js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字

    js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字 <!DOCTYPE html> <html><head><meta charset=" ...

  5. [java]判断一个数字中是否含有某个数字

    [java]判断一个数字中是否含有某个数字 例如判断一个数字中是否含有2 代码: public class panduan {public static boolean test(int n) {wh ...

  6. 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223

    编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...

  7. c语言中用于判断ch是否是字符的表达式,最新C语言复习题集资料

    精品文档 C语言复习题集 一. 判断题 1-1.C语言程序是从源文件的第一条语句开始执行的. 正确答案:F 1-2.C语言中的变量名不区分大小写. 正确答案:F 1-3.若变量定义为double x; ...

  8. 数字图像处理与机器视觉光盘资料_机器视觉——数字图像处理知识点总结

    数字图像处理知识点总结 第一章 导论 1. 图像:对客观对象的一种相似性的生动性的描述或写真. 2. 图像分类:按可见性(可见图像.不可见图像),按波段数(单波段.多波段.超波段),按空间坐标和亮度的 ...

  9. 数字经济与信息资本主义——美国商务部《数字经济2000》中译本序

    引言:当纳斯达克综合指数从超过5000点的高峰向下回调向1500点的超低谷时,当所有的风险投资人"谈网色变"的时候,人们对数字经济的评价一直在进行的过程之中.由于过去两年多的时间中 ...

  10. AMNO.6 给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字

    题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出123 输入 一个不大于5位的数字 输出 三行 第一行 位数 第二 ...

最新文章

  1. AJAX推送与拉取方式的比较
  2. 漆桂林 | 人工智能的浪潮中,知识图谱何去何从?
  3. servletcheckbox选中和未选中判断_【微课堂】2020【1期】如何判断牛市启动,春季布局思路! 2020.1.4...
  4. Spring Boot 学习笔记,这个太全了!
  5. 计算机半小时后关机代码,电脑自动关机代码
  6. 怎么用计算机计算t分布的概率,MATLAB如何使用tpdf函数计算T分布的概率密度
  7. html画布抗锯齿,javascript – Node-Canvas图像抗锯齿似乎不起作用
  8. 毕业论文页码及目录设置方法
  9. 借鉴FCoin商业模式,写了一份白皮书去参赛
  10. 重磅!《2020年中国 DevOps 现状调查》全面启动!
  11. 无源NFC方案 无源NFC对外供电 NFC感应电源 无源NFC通讯 NFC无线充电方案 NFC无线取电方案 显示NFC标签
  12. Linux脚本--实现自动根据名称查询进程号并杀死进程
  13. creo2.0安装方法
  14. 【Log】(二)Java 中的日志框架 JCL、SLF
  15. STATCOM主电路拓扑结构分类
  16. “杭州最惨创业者”事件初步法律分析
  17. 公理化体系降维打击1之补充(脱敏版本)再加俺老孙的故事(开头)
  18. 房产管理系统设计html,HTML5 3D 在智慧物业/地产管理系统中的应用
  19. opencv球体追踪
  20. 声纹识别技术发展现状及未来五大发展趋势

热门文章

  1. 质数合数相关操作python代码合集(比较全面,欢迎补充)
  2. ASP多媒体视频教程
  3. 技术开发团队如何高效率开会 [会议管理]
  4. 为什么你的有道云笔记越来越不好用?三个细节解决你的烦恼
  5. 数学建模(三)SARS的传播(03年A题)
  6. IDC BGP 选型、出海线路
  7. 高效人士的7个好习惯,由内而外全面造就自己
  8. NoteExpress 文献管理软件及使用相关问题
  9. 3.字体样式,分隔线与段落
  10. .NET Standard(1)——.NET Standard是什么