JSFiddle - React, Tailwind, and code Playground
Format phone numbers
by Jennifer Perrin
HTML
<input type="text" name="phonenum" id="phonenum"/>
JavaScript
/**
* Format phone numbers
*/
function formatPhone(phonenum) {
var regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/;
if (regexObj.test(phonenum)) {
var parts = phonenum.match(regexObj);
var phone = "";
if (parts[1]) { phone += "+1 (" + parts[1] + ") "; }
phone += parts[2] + "-" + parts[3];
return phone;
}
else {
//invalid phone number
return phonenum;
}
}
/**
* Format postal code
*/
function formatPostalcode(pcode) {
var regexObj = /^\s*([a-ceghj-npr-tvxy]\d[a-ceghj-npr-tv-z])(\s)?(\d[a-ceghj-npr-tv-z]\d)\s*$/i
if (regexObj.test(pcode)) {
var parts = pcode.match(regexObj);
var pc = parts[1] + " " + parts[3];
return pc.toUpperCase();
}
else {
return pcode;
}
}
$(document).ready(function() {
$("#phonenum").change(function(e) {
formatPhone('phonenum',false);
});
});