加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何防止用户在文本输入中输入联系信息(电子邮件/电话号

发布时间:2021-08-28 03:46:22 所属栏目:大数据 来源: https://www.jb51.cc
导读:我正在开发一个最终允许用户互相连接的应用程序,但首先用户可以发布一些公共信息,我想阻止他们发布联系信息(主要是电子邮件和电话号码). 是否有可以检测此类信息的iOS或PHP算法或方法? (注意 – 这不是一个简单的正则表达式.我想防止用户向公众显示联系信息

我正在开发一个最终允许用户互相连接的应用程序,但首先用户可以发布一些公共信息,我想阻止他们发布联系信息(主要是电子邮件和电话号码).

是否有可以检测此类信息的iOS或PHP算法或方法? (注意 – 这不是一个简单的正则表达式.我想防止用户向公众显示联系信息的常见“棘手”方式).

我要阻止的例子:

>请致电123-123-1234
>打电话给我一两三,一两三四
>给我发电子邮件johnsmith@gmail.com
>给我留言john smith at g mail dot com

显然,上面的例子和其他例子都有无限的推导,所以我不能只为它们创建一个“快速”的表达式匹配算法.

我知道可能没有100%完美的方法,但很奇怪是否有一些东西比从头开始自己更好.

解决方法:

对于电子邮件我总是使用这个正则表达式

 ("([a-zA-Z0-9._%+-]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)")

对于其他电子邮件,而不是使用正则表达式使用字符串搜索

if line.tolower.contains("dot") and line.tolower.contains("com")
or if line.tolower.contains("@") and "com"
or if line.tolower.contains("@") and "net"
or if line.tolower.contains("mail") and "com"
or if line.tolower.contains("gmail") or "Yahoo" or "hotmail" or "bing"

如您所见,您将不得不制定相当多的规则

对于电话号码

("(?:bd{10,11}b)")
("[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]")

然后就像电子邮件一样,你将不得不使用.Contains

确保覆盖每个数字的唯一方法是 – 您需要以字母形式添加每个区域代码,如:

"twosixfive"
"fourninesix"

以及:

"two six five"
"four nine six"

以及:

"two-six-five"
"four-nine-six"

这是所有区号的列表:http://en.wikipedia.org/wiki/List_of_NANP_area_codes

没有那么多,你只需要花时间去做.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读