Parse the phone input into an output format of your choice. Good for formatting a user input.
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.
'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>
Using npm:
If you haven't installed jasmine-node and CoffeeScript:
$ npm install
Then:
$ npm test
MIT.