|
|
@ -46,8 +46,8 @@ var protocolPattern = /^([a-z0-9]+:)/i, |
|
|
|
.concat(unwise).concat(autoEscape), |
|
|
|
nonAuthChars = ['/', '@', '?', '#'].concat(delims), |
|
|
|
hostnameMaxLen = 255, |
|
|
|
hostnamePartPattern = /^[a-zA-Z0-9][a-z0-9A-Z-]{0,62}$/, |
|
|
|
hostnamePartStart = /^([a-zA-Z0-9][a-z0-9A-Z-]{0,62})(.*)$/, |
|
|
|
hostnamePartPattern = /^[a-zA-Z0-9][a-z0-9A-Z_-]{0,62}$/, |
|
|
|
hostnamePartStart = /^([a-zA-Z0-9][a-z0-9A-Z_-]{0,62})(.*)$/, |
|
|
|
// protocols that can allow "unsafe" and "unwise" chars.
|
|
|
|
unsafeProtocol = { |
|
|
|
'javascript': true, |
|
|
@ -226,7 +226,7 @@ function urlParse(url, parseQueryString, slashesDenoteHost) { |
|
|
|
var newOut = []; |
|
|
|
for (var i = 0; i < domainArray.length; ++i) { |
|
|
|
var s = domainArray[i]; |
|
|
|
newOut.push(s.match(/[^A-Za-z0-9-]/) ? |
|
|
|
newOut.push(s.match(/[^A-Za-z0-9_-]/) ? |
|
|
|
'xn--' + punycode.encode(s) : s); |
|
|
|
} |
|
|
|
out.hostname = newOut.join('.'); |
|
|
|