unhomoglyph
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

unhomoglyph

Build Status NPM version

Replace all homoglyphs with base characters. Useful to detect similar strings. For example, to prohibit register similar looking nicknames at websites.

Data source - Recommended confusable mapping for IDN, v13.0.0.

Note! Text after transform is NOT intended be read by humans. For example, m will be transformed to r + n. Goal is to compare 2 strings after transform, to check if sources looks similar or not. If sources look similar, then transformed strings are equal.

Install

npm install unhomoglyph --save

Example

const unhomoglyph = require('unhomoglyph');
 
console.log(unhomoglyph('AΑАᎪᗅᴀꓮ')); // => AAAAAAA
console.log(unhomoglyph('m'));        // => rn (r + n)
 
//
// Compare nicknames
//
 
const username1 = 'm';
const username2 = 'rn';
 
if (unhomoglyph(username1) === unhomoglyph(username2)) {
  console.log(`"${username1}" and "${username2} look similar`);
}

Update

npm run update

License

MIT

Dependents (14)

Package Sidebar

Install

npm i unhomoglyph

Weekly Downloads

13,333

Version

1.0.6

License

MIT

Unpacked Size

107 kB

Total Files

7

Last publish

Collaborators

  • vitaly