在 JavaScript 中检查 URL 是否为 Localhost
Check if a URL is Localhost in JavaScript
要检查 url 是否为本地主机,请使用该includes()
方法检查字符串是否包含localhost
or 127.0.0.1
。如果 url 是本地主机,该includes
方法将返回
true
,否则false
返回。
索引.js
function isLocalhost(url) { return url.includes('localhost') || url.includes('127.0.0.1'); } // 👇️ true console.log(isLocalhost('http://localhost:3000/')); // 👇️ false console.log(isLocalhost('http://example.com'));
我们创建了一个可重用函数,用于检查 url 是否为本地主机。
includes()
方法接受一个子字符串并检查它是否包含在调用它的字符串中。
该方法返回布尔结果 –true
如果子字符串包含在字符串中,false
否则。
我们使用
逻辑 OR (||)
运算符将两次调用链接到该includes
方法。如果任一调用返回
true
,该isLocalhost
函数也将返回true
。
逻辑或 (||) 运算符如果为真,则返回左侧的值,否则返回右侧的值。
索引.js
console.log(false || true); // 👉️ true console.log(true || false); // 👉️ true console.log(false || false); // 👉️ false
includes
Internet Explorer 不支持该方法。如果您必须支持浏览器,请改用该indexOf
方法。要检查 url 是否为本地主机,请调用indexOf()
url 上的方法,检查字符串localhost
是否127.0.0.1
包含在 url 中。如果该indexOf
方法返回-1
两个字符串,则 url 不是 localhost。
索引.js
// supported in IE function isLocalHost(url) { return url.indexOf('localhost') !== -1 || url.indexOf('127.0.0.1') !== -1; } // 👇️ true console.log(isLocalHost('http://localhost:3000/')); // 👇️ false console.log(isLocalHost('http://example.com'));
String.indexOf
方法返回字符串中子字符串第一次出现的索引。
如果字符串中不包含子字符串,则该方法返回-1
。
如果对该方法的任一调用indexOf
返回的索引不等于-1
,我们可以断定该 url 是 localhost。
使用该
indexOf
方法有点间接且更难阅读,但是如果您需要支持 Internet Explorer,它就可以完成工作。