From 253bdcda7a51a256d349164801e8bc9cae179789 Mon Sep 17 00:00:00 2001 From: Maksim Eltyshev Date: Tue, 13 Apr 2021 18:59:02 +0500 Subject: [PATCH] Allow dots in username. Closes #116 --- client/src/utils/validator.js | 2 +- server/api/controllers/access-tokens/create.js | 4 +++- server/api/controllers/users/create.js | 2 +- server/api/controllers/users/update-username.js | 2 +- server/api/models/User.js | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/utils/validator.js b/client/src/utils/validator.js index 39bfaa2c..75f8f41d 100644 --- a/client/src/utils/validator.js +++ b/client/src/utils/validator.js @@ -1,4 +1,4 @@ -const USERNAME_REGEX = /^[a-zA-Z0-9]+(_?[a-zA-Z0-9])*$/; +const USERNAME_REGEX = /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/; // eslint-disable-next-line import/prefer-default-export export const isUsername = (string) => { diff --git a/server/api/controllers/access-tokens/create.js b/server/api/controllers/access-tokens/create.js index 8b4ca0e3..a95c7460 100755 --- a/server/api/controllers/access-tokens/create.js +++ b/server/api/controllers/access-tokens/create.js @@ -17,7 +17,9 @@ module.exports = { custom: (value) => value.includes('@') ? validator.isEmail(value) - : value.length >= 3 && value.length <= 16 && /^[a-zA-Z0-9]+(_?[a-zA-Z0-9])*$/.test(value), + : value.length >= 3 && + value.length <= 16 && + /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/.test(value), required: true, }, password: { diff --git a/server/api/controllers/users/create.js b/server/api/controllers/users/create.js index 8cdf3ce2..c26c2f1a 100755 --- a/server/api/controllers/users/create.js +++ b/server/api/controllers/users/create.js @@ -27,7 +27,7 @@ module.exports = { isNotEmptyString: true, minLength: 3, maxLength: 16, - regex: /^[a-zA-Z0-9]+(_?[a-zA-Z0-9])*$/, + regex: /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/, allowNull: true, }, phone: { diff --git a/server/api/controllers/users/update-username.js b/server/api/controllers/users/update-username.js index 6e3e3a63..ef82faaa 100644 --- a/server/api/controllers/users/update-username.js +++ b/server/api/controllers/users/update-username.js @@ -23,7 +23,7 @@ module.exports = { isNotEmptyString: true, minLength: 3, maxLength: 16, - regex: /^[a-zA-Z0-9]+(_?[a-zA-Z0-9])*$/, + regex: /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/, allowNull: true, }, currentPassword: { diff --git a/server/api/models/User.js b/server/api/models/User.js index 44104751..45213ec8 100755 --- a/server/api/models/User.js +++ b/server/api/models/User.js @@ -34,7 +34,7 @@ module.exports = { isNotEmptyString: true, minLength: 3, maxLength: 16, - regex: /^[a-zA-Z0-9]+(_?[a-zA-Z0-9])*$/, + regex: /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/, allowNull: true, }, avatarDirname: {