0
我想要一个JS正则表达式,它将包括任何Intranet站点(任何主机名的简单定义不包括.
) ,但不包括localhost
。正则表达式包含所有Intranet站点,但排除http(s):// localhost
我有第一部分:http(s)?\:\/\/[^\.\/]+(\/.*)*
我正在努力与第二部分。任何帮助,将不胜感激。
我想要一个JS正则表达式,它将包括任何Intranet站点(任何主机名的简单定义不包括.
) ,但不包括localhost
。正则表达式包含所有Intranet站点,但排除http(s):// localhost
我有第一部分:http(s)?\:\/\/[^\.\/]+(\/.*)*
我正在努力与第二部分。任何帮助,将不胜感激。
您需要使用负前瞻:
/^http(s)?\:\/\/(?!localhost[:\/])[^\.\/]+(\/.*)*$/
是的,那是相当接近。但是,它似乎错误地匹配了非端口80的locahost URL('http:// localhost:8080 /')。下面是一个适用于这种情况的例子:'http(s)?\:\/\ /(?! localhost)[^ \。\ /] +(\ /.*)*'。谢谢! – 2010-07-15 21:58:30
@Franci:这将不匹配'http:// localhostother /' – SLaks 2010-07-15 22:10:32
正确。它也会错误地匹配'http:// francip @ localhost /'。我决定为了自己的目的可以忍受这些限制。 :-) – 2010-07-15 22:33:50