答案 0 :(得分:6)
这适用于大多数正则表达式处理器:
/((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)/i
这与之匹配:
http://
,https://
或www.
/i
)blahwww.domain.com
,并返回www.domain.com
如果您想强制执行空间,将\s
添加到开头,但是您必须确保在字符串的开头添加一个空格以匹配。 (?:)
块是不匹配的组。它们可以防止为这些特定的字符组分配编号。如果你的正则表达式处理器有问题,可以用匹配的组()
替换它们。第1组始终是整个网址。
它并不是非常严格,但它匹配所有标准域名(但可能会忽略一些无效域名)。
此外,下次您可能希望包含编程语言或上下文,因为正则表达式处理器在功能支持方面差异很大。
答案 1 :(得分:0)
不使用http | https | fts
:
Var url = /^((www|WWW)\.){1}?([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+(\.[a-zA-Z0-9]+)*)$/;
使用http | https | fts
:
var url = /^((http|ftp|https):\/\/|((www|WWW)\.)){1}?([a-zA-Z0-9]+(\.[a-zA-Z0- 9]+)+(\.[a-zA-Z0-9]+)*)$/;