This package provides user name (ID) classifying and confidence level of classified results (ex. mobile number, email, UUID, serial number, username). It could be used in App' login page for "multi kinds of ID login/key-in by one input box" design.
Install by npm
npm install username-classifier
Import package
var classify = require('username-classifier').classify
Kind of username | Label | Example |
---|---|---|
username | username | @user_name.001-abc |
[email protected] | ||
mobile | mobile | +886910123456 |
uuid | uuid | 123e4567-e89b-12d3-a456-426655440000 |
serial number | dec_sn | 0, 1, 2, ... |
hex serial number | hex_sn | 0, 1, 2, aa, bb, ... |
hex_string | hex_string | 00, 01, 1001, 00ff, ... |
binary serial number | bin_sn | 0, 1, 10, 11, 100, 101, ... |
bin_string | bin_string | 00, 01, 10, 11, 0100, 0101, ... |
Kind of username | Label | Example |
---|---|---|
Facebook user' OAut2 access token | fb_user_token | EAAGBVsxNIksBA*** |
Facebook app' OAut2 access token | fb_app_token | 845823*** |
Google user' OAut2 access token | g_user_token | ya29.Glsv*** |
Get the result of username classifying with confidence levels (0~100)% of each kind (label)
Sample code
let username = process.argv[2]
classify(username)
.then(classified => {
console.log(classified)
})
.catch(error => {console.log(error)})
Result of username "+886910123456"
{ classified:
[ { label: 'username', confidence: 0 },
{ label: 'email', confidence: 0 },
{ label: 'mobile', confidence: 100 },
{ label: 'uuid', confidence: 0 },
{ label: 'dec_sn', confidence: 0 },
{ label: 'hex_sn', confidence: 0 },
{ label: 'hex_string', confidence: 0 },
{ label: 'bin_sn', confidence: 0 },
{ label: 'bin_string', confidence: 0 } ],
username: '+886910123456' }
Result of username "0011aabb@allen"
The "0 confidence" labes have been dropped on following results.
{ classified:
[ { label: 'hex_string', confidence: 57 },
{ label: 'bin_sn', confidence: 28 },
{ label: 'bin_string', confidence: 28 } ],
username: '0011aabb@allen' }
Result of username "0011aabb"
The "0 confidence" labes have been dropped on following results.
{ classified:
[ { label: 'hex_string', confidence: 100 },
{ label: 'bin_sn', confidence: 50 },
{ label: 'bin_string', confidence: 50 } ],
username: '0011aabb' }