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

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i unhomoglyph

    Weekly Downloads

    11,512

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    107 kB

    Total Files

    7

    Last publish

    Collaborators

    • vitaly