如何检查网址是否使用IP地址而不是域名?
例如:
http://www.yeouuuuu.com/bla
https://www.bbc.co.uk/something
http://yeou:password@my.service.com/
//return true;
http://172.10.10.100/test
//return false; because there is an IP.
ip4正则表达式:
ipv4 = RegExp('((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|
[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])');
答案 0 :(得分:1)
使用你的正则表达式:
function isIP( address ){
r = RegExp('^http[s]?:\/\/((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])');
return r.test( address )
}
如果地址不是域名,则返回true。如果URL包含域之后的IP地址,则返回false。
答案 1 :(得分:0)
如果你的网址包含ipv4网址,你可以测试这个正则表达式
let ipv4Url = RegExp([
'^https?:\/\/([a-z0-9\\.\\-_%]+:([a-z0-9\\.\\-_%])+?@)?',
'((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4',
'][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])?',
'(:[0-9]+)?(\/[^\\s]*)?$'
].join(''), 'i');
ipv4Url.test('http://yeou:test@10.10.10.10/hello');
//returns true
答案 2 :(得分:-1)
您可以针对window.location.hostname
答案 3 :(得分:-1)
为什么不测试window.location.hostname
有任何字母?
window.location.hostname.match(/[a-z]/i)
如果它甚至有一个字母,则它不是IP地址。否?