0

当做一个...

var URLPattern = '^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?';
alert(str.match(URLPattern));

它会正确匹配一个 URL,然后追加

,ht,,m,,,,

到网址的末尾

我能做些什么来解决这个问题?

4

1 回答 1

0

查看返回的内容:由 match 和匹配的捕获组.match组成的数组。

利用

var result = str.match(URLPattern);
alert(result != null ? result[0] : "nothing found");

顺便说一句,您的正则表达式构造不正确。使用正则表达式文字而不是吃反斜杠的字符串文字:

var URLPattern = /^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?/;
于 2013-07-12T12:55:17.387 回答