0.1.2 โ€ข Published 5 years ago

emojicharstring v0.1.2

Weekly downloads
49
License
MIT
Repository
github
Last release
5 years ago

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

ParamTypeDefaultDescription
beginNumber0begin index
endNumbernoneend 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.

ParamTypeDefaultDescription
beginNumber0Location at which to begin extracting characters
lenNumbernoneThe number of characters to extract
var emojiStr = new EmojiCharString('๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ our family ๆˆ‘ไปฌไธ€ๅฎถ โค๏ธ')
console.log(emojiStr.substr(2, 5)) // 'our f'

License

MIT