Easily remove Unicode combining marks from strings.
JavaScript HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts
src
tests
.gitattributes
.gitignore
.travis.yml
Gruntfile.js
LICENSE-MIT.txt
README.md
bower.json
component.json Initial commit Oct 22, 2013
package.json
strip-combining-marks.js

README.md

strip-combining-marks Build status Dependency status

strip-combining-marks removes Unicode combining marks from strings. It leaves unmatched combining marks (i.e. marks that appear at the start of the string, and don’t belong to a symbol) intact.

Installation

Via npm:

npm install strip-combining-marks

Via Bower:

bower install strip-combining-marks

Via Component:

component install mathiasbynens/strip-combining-marks

In a browser:

<script src="strip-combining-marks.js"></script>

In Node.js, io.js, Narwhal, and RingoJS:

var stripCombiningMarks = require('strip-combining-marks');

In Rhino:

load('strip-combining-marks.js');

Using an AMD loader like RequireJS:

require(
  {
    'paths': {
      'strip-combining-marks': 'path/to/strip-combining-marks'
    }
  },
  ['strip-combining-marks'],
  function(stripCombiningMarks) {
    console.log(stripCombiningMarks);
  }
);

API

stripCombiningMarks.version

A string representing the semantic version number.

stripCombiningMarks.reverse(string)

This function takes a string and returns the stripped version of that string, where any combining marks that were applied to other symbols have been removed.

Usage example

stripCombiningMarks('Z͑ͫ̓ͪ̂ͫ̽͏̴̙̤̞͉͚̯̞̠͍A̴̵̜̰͔ͫ͗͢L̠ͨͧͩ͘G̴̻͈͍͔̹̑͗̎̅͛́Ǫ̵̹̻̝̳͂̌̌͘!͖̬̰̙̗̿̋ͥͥ̂ͣ̐́́͜͞');
'ZALGO!'

Support

strip-combining-marks has been tested in Chrome 27, Firefox 3, Safari 4, Opera 10, IE 6, Node.js v0.10.0, io.js v1.0.0, Narwhal 0.3.2, RingoJS 0.8, PhantomJS 1.9.1, and Rhino 1.7RC4.

Unit tests & code coverage

After cloning this repository, run npm install to install the dependencies needed for strip-combining-marks development and testing. You may want to install Istanbul globally using npm install istanbul -g.

Once that’s done, you can run the unit tests in Node using npm test or node tests/tests.js. To run the tests in Rhino, Ringo, Narwhal, and web browsers as well, use grunt test.

To generate the code coverage report, use grunt cover.

Author

twitter/mathias
Mathias Bynens

License

strip-combining-marks is available under the MIT license.