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 --save
You 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 build
This 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.