Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calculating difference between username and email in javascript

for security reasons i want the users on my website not to be able to register a username that resembles their email adress. Someone with email adress [email protected] cant register as user or us.er, etc

For example i want this not to be possible:

tester -> [email protected] (wrong) tes.ter -> [email protected] (wrong) etc.

But i do want to be able to use the following:

tester6 -> [email protected] (good) etc.

//edit tester6 is wrong too. i ment user6 -> [email protected] (good).

Does anyone have an idea how to achieve this, or something as close as possible. I am checking this in javascript, and after that on the server in php.

Ciao!

ps. Maybe there is some jquery plugin to do this, i can't find this so far. The downside tho of using a plugin for this, is that i have to implement the same in php. If it is a long plugin it will take some time to translate.

//Edit again If i only check the part before the @ they can still use userhotmailcom, or usergmail, etc. If they supply that there email is abvious.

like image 361
Saif Bechan Avatar asked May 13 '26 07:05

Saif Bechan


2 Answers

Typically, I use the Levenshtein distance algorithm to check whether a password looks like a login.

PHP has a native levenshtein function and here is one written in JavaScript.

like image 57
Fabien Ménager Avatar answered May 15 '26 19:05

Fabien Ménager


Something like this?

var charsRe = /[.+]/g; // Add your characters here
if (username.replace(charsRe,  '') == email.split('@')[0].replace(charsRe, ''))
    doError();
like image 37
Greg Avatar answered May 15 '26 19:05

Greg



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!