Skip to content

Based on a RegExp to work with JavaScript String's unicode problem.

License

Notifications You must be signed in to change notification settings

YingshanDeng/EmojiCharString

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmojiCharString

npm version Build Status Coverage Status JavaScript Style Guide

When the string contains emoji, we use String.prototype.length cannot get the characters count correctly! Such as:

  • '👦🏿'.length return 4, it should be 1!
  • '👨‍👩‍👦'.length return 8, it alse should be 1!

EmojiCharString is based on a RegExp to work with JavaScript String's unicode problem. It can solve the problem above.

❗️Note that it is not for good performance but for accuracy, because it uses a complex RegExp to analyze the string.

Install

Using NPM, install EmojiCharString, and add it to your package.json dependencies.

npm install emojicharstring --save

And then you can import it

// CommonJS
const EmojiCharString = require('EmojiCharString');

// or ES6
import EmojiCharString from 'EmojiCharString'

Or include the file in your HTML page using the following tags:

<script src="/path/to/dist/EmojiCharString.min.js"></script>

Usage

initialise EmojiCharString

var emojiStr = new EmojiCharString('👦🏿')

length

Get the string's length correctly.

var emojiStr = new EmojiCharString('👦🏿')
var len = emojiStr.length // 1

toString

Get the string you pass in.

var emojiStr = new EmojiCharString('hello')
var str = emojiStr.toString() // hello

reverse ()

Reverse the string in place.

var emojiStr = new EmojiCharString('👦🏿👨‍👩‍👦')
console.log(emojiStr.reverse()) // '👨‍👩‍👦👦🏿'

substring (begin = 0, end)

The substring() method returns a subset of a string between begin index and end index

Param Type Default Description
begin Number 0 begin index
end Number none end index
var emojiStr = new EmojiCharString('👨‍👨‍👦 our family 我们一家 ❤️')
console.log(emojiStr.substring(2, 5)) // 'our'

substr (begin = 0, len)

The substr() method return the characters in a string beginning at the specified location through the specified number of characters.

Param Type Default Description
begin Number 0 Location at which to begin extracting characters
len Number none The number of characters to extract
var emojiStr = new EmojiCharString('👨‍👨‍👦 our family 我们一家 ❤️')
console.log(emojiStr.substr(2, 5)) // 'our f'

License

MIT

About

Based on a RegExp to work with JavaScript String's unicode problem.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published