我還沒有找到適合我需要的東西,我需要一個 varify host:port 的正則表達式。例如:localhost:52247 //trueweb.mycompany.com //trueweb.mycompany.com:52247 //true192.168.108.76:8383/ //true192.168.108.76/ //true并應為以下內容返回 false;localhost:9999999 //false because port is not valid'' //false becuse string is emptyweb.myco?????mpany.com:52247 //false because it contains hebrew characters192.168.377.76:8383/ //false because ip address not valid
1 回答

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
我不會在這里編寫自己的正則表達式,而是使用URL()
構造函數——如果提供的參數不被視為有效的 URL,它將拋出 TypeError 異常。
您的輸入值只需以協議為前綴,首先使它們成為有效的非相對URL - 所以讓我們放在前面http://
,然后看看構造函數是否拋出異常:
var urls = 'localhost:52247,web.mycompany.com,web.mycompany.com:52247,192.168.108.76:8383/,192.168.108.76/,localhost:9999999,,web.myco?????mpany.com:52247,192.168.377.76:8383/'.split(',');
urls.forEach(function(e){
try {
new URL('http://'+e);
console.log(e + ": true");
}
catch(x) {
console.log(e + ": false");
}
})
- 1 回答
- 0 關注
- 183 瀏覽
添加回答
舉報
0/150
提交
取消