This repository is a mirror of the component module chenglou/phone-parser. It has been modified to work with NPM+Browserify. You can install it using the command npm install npmcomponent/chenglou-phone-parser
. Please do not open issues or send pull requests against this repo. If you have issues with this repo, report it to npmcomponent.
Phone Parser
Parse the phone input into an output format of your choice. Good for formatting a user input.
Installation
Through component:
$ component install chenglou/phone-parser
Through npm:
$ npm install phone-parser
Or directly download the script for browsers. Rename it however you want.
API
'x'
represents a digit placeholder.
// This is the component/npm format. Browser format below.
var phoneParser = require('phone-parser');
phoneParser('2341234447', '(xxx) xxx-xxxx'); // Returns '(234) 123-4447'.
phoneParser('+86 455 6988', 'xxxxxxxxx'); // Returns '864556988'.
phoneParser(' 123 4567 ', '+1 xxx xxxx'); // Returns '+1 123 4567'.
phoneParser('123 4567890', '+1 xxx xxxx'); // Error: phone format cannot be parsed.
Remember, only 'x'
is a placeholder. The rest is treated as part of the formatting.
For browsers (real-life example of formatting an input field):
<input type="text" id="phone" />
<script src="index.js"></script>
<script>
var phoneField = document.getElementById('phone');
phoneField.addEventListener('change', function() {
try{
phoneField.value = phoneParser(phoneField.value, '(xxx) xxx-xxxx');
} catch(e) {}
});
</script>
Testing
Using npm:
If you haven't installed jasmine-node and CoffeeScript:
$ npm install
Then:
$ npm test
License
MIT.