我有此功能检查输入的网址是否有效。
问题是我还需要知道该网址是否来自facebook.com。
如果不是,则不应将Url视为有效。
我如何编辑下面的函数以使其期望在其中包含facebook.com字符串的Url?

function isUrl(s) {

var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(s);
}

最佳答案

function isUrl(s) {

  var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
  return regexp.test(s) && s.indexOf('facebook.com') > -1;
}


String#indexOf

提示:我不会修改我的isUrl方法,因为如果您需要为另一个网址使用此函数,则也可以使用除facebook之外的任何其他网址。我将其分解为以下代码:

function isUrl(s) {
  var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
  return regexp.test(s);
}

function isFacebookUrl(s) {
  return isUrl(s) && s.indexOf('facebook.com') > -1;
}

关于javascript - Javascript检查网址,以及网址是否包含字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17105490/

10-13 03:03