【问题标题】:Regex to block domains in url field正则表达式阻止 url 字段中的域
【发布时间】:2017-01-08 21:48:49
【问题描述】:

我想阻止输入 url 字段中的某些域,我正在使用 jQuery 验证插件,我创建了一个自定义方法,唯一我无法弄清楚的是正则表达式,它让我发疯。

$.validator.addMethod("customurl",
function(value, element) {
        return /^([\w-.]+@(?!facebook\.com)(?!twitter\.com)(?!instagram\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
},

"Social links not allowed"
);

当前正则表达式阻止以这些域结尾的电子邮件地址,但我想阻止 URL,例如:

https://www.facebook.com/username

https://facebook.com/username

http://facebook.com/username

【问题讨论】:

  • 你能不能试试return value.indexOf('facebook') === -1之类的东西
  • 正则表达式是否仍需要阻止以这些域结尾的电子邮件地址,还是只想阻止 URL?
  • @Adam 只有网址
  • 这只是一个简单的正则表达式命令。如果您不知道如何使用正则表达式,请使用这个简单的教程:regexone.com/lesson/kleene_operators

标签: javascript jquery regex


【解决方案1】:

我只想添加另一个正则表达式测试:

/https?\:\/\/(www\.)?facebook\.com\/(.*)/

可能看起来像:

$.validator.addMethod("customurl",
function(value, element) {
   var emailTest = /^([\w-.]+@(?!facebook\.com)(?!twitter\.com)(?!instagram\.com)([\w-]+.)+[\w-]{2,4})?$/.test(value);
   var urlTest = /https?\:\/\/(www\.)?facebook\.com\/(.*)/.test(value);
   return !emailTest && !urlTest;
});

【讨论】:

  • 如何在 urlTest 中添加其他域(instagram 和 twitter)?
  • 不是[\w-.]. 一样吗?
猜你喜欢
  • 2020-11-09
  • 2013-07-02
  • 2020-03-31
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多