【发布时间】:2014-07-30 00:25:01
【问题描述】:
我有一个字符串来验证它是否是一个有效的 url。
我已经google了,如果url包含http or https,我只能找到解决方案
我想把网址设为valid,即使它的域名example -> www.google.com前面不包含http
这些是我尝试过的一些网址,它们确实有效。
http://blog.mattheworiordan.com/post/13174566389/url-regular-expression-for-links-with-or-without-the
http://stackoverflow.com/questions/37684/how-to-replace-plain-urls-with-links
http://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-an-url
但即使我给h/www.stackoverflow.com 这不是一个有效的网址,他们也会验证它是真实的
/www.stackoverflow.com 也验证为 true
它们不是有效的网址。谁能帮我写正则表达式。 我想自己写这个常规的exp 但我找不到关于正则表达式的好教程。我几乎无法写出诸如包含一个字符,一点点小字符之类的表达式。
我相信这是我有点弱的领域,我想练习一些正则表达式。任何帮助是极大的赞赏。
请帮助我验证此网址。
更新
((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)
这是我目前使用的正则表达式
我恳请您制作一个 js fiddle,这会使 h/www.stackoverflow.com 变为 false。抱歉,没有一个答案无效。
【问题讨论】:
-
请发布您现在得到的正则表达式。
-
所以将第一部分设为可选...
-
@Xatenev 刚刚更新了它。
标签: javascript php regex