我有这个正则表达式代码
/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i
它有效,但有问题 你需要http://在网址中验证,以及我在做什么,用户不希望将http://添加到他们想要只拥有example.com的网址,如果它可能我需要它工作天气它有http://或不 我不知道如何制作我自己的正则表达式,并且我已经搜索但找不到能满足我需要的那个,除非我只是没有找到正确的地方。 (谷歌:P)
答案 0 :(得分:4)
不要打扰正则表达式。使用parse_url功能。
答案 1 :(得分:2)
你可以选择
/^((?:https?:\/\/+)?[\w\-]+\.[\w\-]+)/i
您不想拥有的部分周围的(?:)
是非捕获组,之后?
会将其设为可选。
我不确定第二个斜杠之后的+
有什么用处,它至少表示前面一个字符。这意味着它还允许http://////////
等内容。
我希望您知道,这个正则表达式远非匹配有效的URL。
例如,它会匹配像
这样的东西http://////////------------.-
或至少
http://N.O
^ after this position you can write what you want and it will match valid.
Here on Regexr您可以看到正则表达式匹配的内容。
请参阅Purple Coder的答案以获得更好的解决方案。
答案 2 :(得分:0)
/ ^((HTTPS:??\ / \ / +)[\ W - ] + [\ W - ] +)/ I
答案 3 :(得分:0)
我正在使用它:
//验证字符串是否至少包含一个点。
var filterWebsite = /^([a-zA-Z0-9:_\.\-/])+\.([a-zA-Z0-9_\.\-/])+$/;