JS-阻止用户输入电话号码

时间:2019-01-10 14:44:27

标签: javascript php

我有一个像AirBnB这样的预订网站,我的用户可以在我的网站之间相互交换消息。

我想阻止我的用户在这些消息中交换电话号码和电子邮件地址。

我使用的方式是一起查找4个数字或@,然后在发送消息之前将其删除。

请,有更好的方法吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

啊,电话号码检测。

简短答案:Fairly easily

更长的答案:

电话号码检测的问题在于,有很多方法表达电话号码。

  • 我无法输入1(800)111 2222吗? 1-800-111-2222和其他变体怎么样?
  • 您在接电话吗? one eight hundred one hundred and eleven twenty two twenty two 1
  • 那两个呢? one 800 1one1 two222
  • 那外国号码呢? + 64 3 477 4000
  • 图像呢?链接到图像吗?

长话短说,语言困难,用户精明。请查看以下内容,以获取关于此类数据输入/输出的复杂性的一些乐趣:https://imgur.com/gallery/r102w

祝你好运。

答案 1 :(得分:0)

使用正则表达式。

var phoneRegex = /[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}/im;
var emailRegex = /(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;

if(phoneRegex.test(content) || emailRegex.test(content)) 
    blockUser(); // do whatever is necessary to block the user