我正在使用jQuery验证引擎来解析我的表单数据:https://github.com/posabsolute/jQuery-Validation-Engine
如何编写正则表达式验证Twitter网址(包括http://twitter.com部分)?例如:
http://twitter.com/barackobama
or
http://twitter.com/#!/barackobama
我正在使用jQuery验证引擎来解析我的表单数据:https://github.com/posabsolute/jQuery-Validation-Engine
如何编写正则表达式验证Twitter网址(包括http://twitter.com部分)?例如:
http://twitter.com/barackobama
or
http://twitter.com/#!/barackobama
/http(?:s)?:\/\/(?:www\.)?twitter\.com\/([a-zA-Z0-9_]+)/
#!
URL(来源:https://blog.twitter.com/2012/improving-performance-on-twittercom)。这里有一个快速的正则表达式演示,展示了更新后的正则表达式工作情况:https://regex101.com/r/sH1hX1/1 - Jason Sperskehttps://wwwtwitter.com/SND_TST
,这是不正确的。您需要在括号内加上\.
和www
。 - Raheel Shahzad/(?:http:\/\/)?(?:www\.)?twitter\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
可选择使用https或添加www,例如:
http://twitter.com/example
https://twitter.com/example
http://www.twitter.com/example
https://www.twitter.com/example
有效
http://twitter.com/(#!/)?[a-zA-Z0-9_]{1,15}
这一段代码 (#!/)?
的作用是使 #!/ 变为可选项,而 [a-zA-Z0-9_]{1,15}
是因为 Twitter 用户名可以包含字母(大写或小写)、数字和下划线,并且长度最长为 15 个字符。
您应该考虑到http和https以及www之间的差异。很多答案都忽略了这个规则。
'/^(?:https?:\/\/)?(?:www\.)?twitter\.com\/(#!\/)?[a-zA-Z0-9_]+$/i'
这样怎么样:
http:\/\/twitter\.com\/(#!\/)?\w+
url.match(/http:\/\/twitter.com\/(#!\/)?(\w*)/i);