[英]JavaScript Regex for URL when the URL may or may not contain HTTP and WWW
我正在使用JavaScript regex來檢查URL。
(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
我用這個正則表達式向Twitter發送消息。 會發生什么是確保URL包含WWW和/或HTTP。
但問題是如果URL就像Guaridan.com.uk Twitter將其視為URL。
那么我如何修改我的正則表達式,它不會檢查HTTP或WWW,這意味着如果它存在,那么它將不會產生任何影響。
所以它會匹配My.co.com或dummy.com.in 。
用於www和http URL格式的jQuery正則表達式。
接受www以及http URL的正則表達式如下:
var pattern = /(?:https?:\/\/)?(?:www\.)?(?:https?:\/\/)?(?:www\.)(?:https?:\/\/)?(?:www\.)?(\/\S*)?/;
接受www , http , abc.com的正則表達式如下:
var pattern = ([\d\w]+?:\/\/)?([\w\d\.\-]+)(\.\w+)(:\d{1,5})?(\/\S*)?
如果您只想匹配域名,則必須匹配幾乎任何單詞加“。”,“_”和“ - ”符號。 一種方法可能至少匹配根域(.com,.net,.us,.co.uk,.es,.fr ......等),但列表將是巨大的。 您可能希望只匹配具有點分隔單詞的任何內容,而不是確定它將成為域,但您可能嘗試連接到它。
這個正則表達式: ([\\d\\w]+?:\\/\\/)?([\\w\\d\\.\\-]+)(\\.\\w+)(:\\d{1,5})?(\\/\\S*)?
將匹配:
嘗試這個...
/^http:\\/\\/|(www\\.)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[az]{2,5}(:[0-9]{1,5})?(\\/.*)?$/
它正是人們想要的。
使用或不使用http://, https://,
和www
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.