Skip to content

Commit 534a35e

Browse files
committed
Escape backslash, closes #516
1 parent e33d38a commit 534a35e

File tree

6 files changed

+9
-3
lines changed

6 files changed

+9
-3
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
- Renamed `isNull()` to `isEmpty()`
44
([#574](https://github.com/chriso/validator.js/issues/574))
5+
- Backslash is now escaped in `escape()`
6+
([#516](https://github.com/chriso/validator.js/issues/516))
57
- Improved `normalizeEmail()`
68
([#583](https://github.com/chriso/validator.js/pull/583))
79

lib/escape.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
1313

1414
function escape(str) {
1515
(0, _assertString2.default)(str);
16-
return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/`/g, '&#96;');
16+
return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/\\/g, '&#x5C;').replace(/`/g, '&#96;');
1717
}
1818
module.exports = exports['default'];

src/lib/escape.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ export default function escape(str) {
88
.replace(/</g, '&lt;')
99
.replace(/>/g, '&gt;')
1010
.replace(/\//g, '&#x2F;')
11+
.replace(/\\/g, '&#x5C;')
1112
.replace(/`/g, '&#96;'));
1213
}

test/sanitizers.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ describe('Sanitizers', function () {
139139

140140
'Backtick: `':
141141
'Backtick: &#96;',
142+
143+
'Backslash: \\':
144+
'Backslash: &#x5C;',
142145
},
143146
});
144147
});

validator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1077,7 +1077,7 @@
10771077

10781078
function escape(str) {
10791079
assertString(str);
1080-
return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/`/g, '&#96;');
1080+
return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/\\/g, '&#x5C;').replace(/`/g, '&#96;');
10811081
}
10821082

10831083
function unescape(str) {

validator.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)