[英]How to validate my URL efficienty using JavaScript?
我的正則表達式成功驗證了除http://www.google
之外的許多網址
這是我在JSFiddle中的URL驗證器: http : //jsfiddle.net/z23nZ/2/
它正確驗證了以下URL:
http://www.google.com
給出了True
www.google.com
給出了真實
http://www.rootsweb.ancestry.com/~mopoc/links.htm
給出了True
http:// www.
假的
......但不是這個:
http://www.google
給予True
在這種情況下返回true是不正確的。 我該如何驗證該案例?
我認為你需要簡化這一點。 那里有很多URL驗證RegExes,但作為練習,我將完成構建一個的思考過程。
/((http|ftp)s?:\\/\\/)?
\\S+
[\\.\\/]\\S*/
現在把它們放在一起:
/(((http|ftp)s?:\/\/)|(\S+[\.\/]))\S*[^\s\.]*/
我猜你試圖尋找www.google
是因為新TLD ...事實上,這樣的網址可能看起來像google
,所以任何單詞都可能是一個網址。 試圖提出一個匹配有效URL的全能正則表達式是不可能的,所以你最好只使用像上面那樣簡單的東西。
編輯:我已經卡住了|
如果人們選擇寫這樣的新URL,那么在協議部分和非空白 - 然后 - 點 - 或 - 斜杠部分之間匹配http://google
編輯2:查看評論以獲得下一個改進。 它確保google.com
匹配, http://google
匹配,甚至google/
匹配,但不是a.
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.