diff --git a/public/src/utils.js b/public/src/utils.js index 90ab4a8118..84bc2daff4 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -321,7 +321,7 @@ if (typeof target === 'number') { return String.fromCharCode(target); - } else if (typeof target === 'string') { + } if (typeof target === 'string') { return target; } @@ -391,7 +391,7 @@ }, isUserNameValid: function (name) { - return (name && name !== '' && (/^['"\s\-+.*0-9\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(name))); + return (name && name !== '' && (/^['"\s\-+.*[\]0-9\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(name))); }, isPasswordValid: function (password) { @@ -487,7 +487,7 @@ } if (n > 999999) { return (n / 1000000).toFixed(1) + 'm'; - } else if (n > 999) { + } if (n > 999) { return (n / 1000).toFixed(1) + 'k'; } return n; diff --git a/test/utils.js b/test/utils.js index acada9ff9d..1984176e10 100644 --- a/test/utils.js +++ b/test/utils.js @@ -51,10 +51,16 @@ describe('Utility Methods', function () { var username = "John\"'-. Doeäâèéë1234"; assert(utils.isUserNameValid(username), 'invalid username'); }); + it('rejects empty string', function () { var username = ''; assert.equal(utils.isUserNameValid(username), false, 'accepted as valid username'); }); + + it('accepts square brackets', function () { + var username = '[best clan] julian'; + assert(utils.isUserNameValid(username), 'invalid username'); + }); }); describe('email validation', function () {