-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Closed
Labels
7.x: regressionPriority: Higharea: upstreami: regressionoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issueA closed issue/PR that is archived due to age. Recommended to make a new issue
Milestone
Description
$ cat test.js
// @flow
const URL_RULE = /^((https?|ftp):\/\/)(\S+(:\S*)?@)?((?!10(\.\d{1,3}){3})(?!127(\.\d{1,3}){3})(?!169\.254(\.\d{1,3}){2})(?!192\.168(\.\d{1,3}){2})(?!172\.(1[6-9]|2\d|3[0-1])(\.\d{1,3}){2})([1-9]\d?|1\d\d|2[01]\d|22[0-3])(\.(1?\d{1,2}|2[0-4]\d|25[0-5])){2}(\.([1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(([_a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(\.([a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(\.([a-z\u{00a1}-\u{ffff}]{2,})))(:\d{2,5})?(\/[^\s]*)?$/iu;
console.log( URL_RULE.test('http://google.com/') );
$ node test.js
true
$ babel test.js | node
[stdin]:4
const URL_RULE = /^((https?|ftp):\/\/)([\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]+(:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]*)?@)?((?!10(\.[0-9]{1,3}){3})(?!127(\.[0-9]{1,3}){3})(?!169\.254(\.[0-9]{1,3}){2})(?!192\.168(\.[0-9]{1,3}){2})(?!172\.(1[6-9]|2[0-9]|3[01])(\.[0-9]{1,3}){2})([1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(\.(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(\.([1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(([0-9_a-z\xA1-\uFFFF]+\-?)*[0-9a-z\xA1-\uFFFF]+)(\.([0-9a-z\xA1-\uFFFF]+\-?)*[0-9a-z\xA1-\uFFFF]+)*(\.([a-z\xA1-\uFFFF]{2,})))(:[0-9]{2,5})?(\/[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]*)?$/iu;
^
SyntaxError: Invalid regular expression: /^((https?|ftp):\/\/)([\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]+(:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]*)?@)?((?!10(\.[0-9]{1,3}){3})(?!127(\.[0-9]{1,3}){3})(?!169\.254(\.[0-9]{1,3}){2})(?!192\.168(\.[0-9]{1,3}){2})(?!172\.(1[6-9]|2[0-9]|3[01])(\.[0-9]{1,3}){2})([1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(\.(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(\.([1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(([0-9_a-z\xA1-\uFFFF]+\-?)*[0-9a-z\xA1-\uFFFF]+)(\.([0-9a-z\xA1-\uFFFF]+\-?)*[0-9a-z\xA1-\uFFFF]+)*(\.([a-z\xA1-\uFFFF]{2,})))(:[0-9]{2,5})?(\/[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]*)?$/: Invalid escape
at [stdin]:4:18
at Script.runInThisContext (vm.js:91:20)
at Object.runInThisContext (vm.js:298:38)
at Object.<anonymous> ([stdin]-wrapper:6:22)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at evalScript (internal/bootstrap/node.js:543:27)
at Socket.<anonymous> (internal/bootstrap/node.js:274:15)
at Socket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1086:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Babel Configuration (.babelrc, package.json, cli command)
"presets": [
[
"@babel/env",
{
"targets": {
"node": "current"
}
}
]
]
}Expected behavior/code
A clear and concise description of what you expected to happen (or code).
Environment
- Babel version(s): [e.g. v6.0.0, v7.0.0-beta.34]
"@babel/cli": "^7.0.0-beta.46",
"@babel/core": "^7.0.0-beta.46",
"@babel/node": "^7.0.0-beta.46",
"@babel/plugin-transform-flow-strip-types": "^7.0.0-beta.46",
"@babel/preset-env": "^7.0.0-beta.46",
"@babel/register": "^7.0.0-beta.46",
- Node/npm version: Node v10.1.0/NPM 6
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
7.x: regressionPriority: Higharea: upstreami: regressionoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issueA closed issue/PR that is archived due to age. Recommended to make a new issue