Skip to content

An SMS message splitter and part calculator with support for GSM and Unicode.

License

Notifications You must be signed in to change notification settings

instasent/split-sms

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

split-sms

NPM version Build Status Bower version NPM

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.

View the demo...

Getting Started

  1. Install via npm: npm install split-sms
  2. Include in your project: var splitter = require('split-sms');
  3. 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
}

In The Browser

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:

Type URL
Source https://github.com/Codesleuth/split-sms/blob/0.1.7/dist/split-sms.min.js
RawGit dev https://rawgit.com/Codesleuth/split-sms/0.1.7/dist/split-sms.min.js
RawGit CDN https://cdn.rawgit.com/Codesleuth/split-sms/0.1.7/dist/split-sms.min.js

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.

About

An SMS message splitter and part calculator with support for GSM and Unicode.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%