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.