Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止用户在文本输入中输入联系信息(电子邮件/电话号码)?_Php_Ios_Regex_Validation_Email - Fatal编程技术网

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

Php 如何防止用户在文本输入中输入联系信息(电子邮件/电话号码)?,php,ios,regex,validation,email,Php,Ios,Regex,Validation,Email,我正在开发一个应用程序,它最终将允许用户相互连接,但首先用户可以发布一些公共信息,我想阻止他们发布联系信息(主要是电子邮件和电话号码) iOS或PHP是否有算法或方法可以检测此类信息?(注意-这不是一个简单的正则表达式。我想防止用户向公众显示其联系信息的常见“棘手”方式) 我要阻止的内容示例: 打123-123-1234给我 一二三一三一二三四给我打电话 给我发电子邮件johnsmith@gmail.com 在g mail.com给我发一封约翰·史密斯的短信 显然,上面的例子和其他例子有无限

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

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

我要阻止的内容示例:

  • 打123-123-1234给我
  • 一二三一三一二三四给我打电话
  • 给我发电子邮件johnsmith@gmail.com
  • 在g mail.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"
正如你所看到的,你将不得不制定一些规则

电话号码

("(?:\b\d{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"
以及:

"two six five"
"four nine six"
"two-six-five"
"four-nine-six"
以下是所有区号的列表:


没有那么多,你只要愿意花时间去做就行了。

因此,在你阻止了显示联系信息的“常见”形式后,用户会找到“不常见”的形式……要解决这个问题,你要么需要AI,要么需要HI(H=人,意思是在发布内容之前对发布内容进行积极审查)。你可以接近,不要听上面的评论,你只需要愿意制定所有的规则。我会在下面贴一些。我不是说这是个好主意,我只是说这有点可能。如果他决心这么做,他可以做到,他必须制定一大堆规则,信息发布需要一段时间——但说这不可能是不准确的。