This package is a forked version of codesleuth's original split-sms. This version was made to accommodate Twilio's smart encoded charset.
An SMS message splitter with support for both GSM and Unicode written in JavaScript. GSM support is limited to GSM 03.38 with the extension table (see the Wikipedia article); no support for natural language shift tables exists at this time.
- Install via npm:
npm install split-sms - Include in your project:
var splitter = require('split-sms'); - Start splitting messages!
var info = splitter.split('JavaScript is fun!');
In the example above, info will be:
{
"characterSet": "GSM",
"parts": [
{
"content": "JavaScript is fun!",
"length": 18,
"bytes": 18
}
],
"bytes": 18,
"length": 18,
"remainingInPart": 142
}Unicode example:
splitter.split('Snowman shows off! ☃');{
"characterSet": "Unicode",
"parts": [
{
"content": "Snowman shows off! ☃",
"length": 20,
"bytes": 40
}
],
"bytes": 40,
"length": 20,
"remainingInPart": 50
}You can use Bower to install split-sms components:
$ bower install split-sms --saveYou can also use RawGit to link directly to specific versions of the built scripts. For example, the following URLs are for version 0.1.7:
Alternatively, pull out the scripts in the dist/ directory and consume them.
To generate a browser consumable script yourself, clone the repo and run the following commands:
$ npm install
$ npm run buildThis will generate the browser-compatible scripts in dist/ and export splitter to the global so you can then consume it in the browser as follows:
<html>
<head>
<script src="split-sms.js"></script>
</head>
<body>
<script>
var info = window.splitter.split('Hello!');
document.write(JSON.stringify(info));
</script>
</body>See the demo site for an example.