我使用jQuery驗證引擎來分析我的表單數據Twitter的網址: https://github.com/posabsolute/jQuery-Validation-Engine正則表達式驗證
會是怎樣的正則表達式來驗證一個Twitter URL(包括http://twitter.com部分)例如:
http://twitter.com/barackobama
or
http://twitter.com/#!/barackobama
我使用jQuery驗證引擎來分析我的表單數據Twitter的網址: https://github.com/posabsolute/jQuery-Validation-Engine正則表達式驗證
會是怎樣的正則表達式來驗證一個Twitter URL(包括http://twitter.com部分)例如:
http://twitter.com/barackobama
or
http://twitter.com/#!/barackobama
你的意思是/http(?:s)?:\/\/(?:www\.)?twitter\.com\/([a-zA-Z0-9_]+)/
我想知道:是不是twitter用戶允許在他們的名字中使用非[a-zA-Z]字母?對所有的亞洲/俄羅斯/阿拉伯用戶來說,這似乎相當不公平...... – 2011-05-17 00:25:45
@Thomas:不;我檢查了。 – SLaks 2011-05-17 00:40:14
2012年5月29日,Twitter停止使用「#!」網址([source](https://blog.twitter.com/2012/improving-performance-on-twittercom)),看起來已經過去了, )以下是一個快速正則表達式演示,顯示更新的正則表達式正在工作https://regex101.com/r/sH1hX1/1 – 2016-09-16 23:01:17
如何:
http:\/\/twitter\.com\/(#!\/)?\w+
url.match(/http:\/\/twitter.com\/(#!\/)?(\w*)/i);
我不熟悉用jQuery,但如果它使用標準正則表達式將是這樣的:
http://twitter.com/(#!/)?[a-zA-Z0-9_]{1,15}
該位(#!/)?
是使#/可選,這[a-zA-Z0-9_]{1,15}
是因爲Twitter用戶名可以包含字母(大寫或小寫),數字和下劃線,最多可以包含15個字符。
/(?:http:\/\/)?(?:www\.)?twitter\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
可選使用HTTPS或添加WWW e.g
http://twitter.com/example
https://twitter.com/example
http://www.twitter.com/example
https://www.twitter.com/example
有效
你應該考慮HTTP和HTTPS之間當然WWW的差異。許多答案忘記了這個規則。
'/^(?:https?:\/\/)?(?:www\.)?twitter\.com\/(#!\/)?[a-zA-Z0-9_]+$/i'
也許在這種情況下沒有正則表達式更容易嗎? – DrStrangeLove 2011-05-17 00:13:01