我有此功能检查输入的网址是否有效。
问题是我还需要知道该网址是否来自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/