$('body').on('keyup','#mac_address', function(e) { var e = $(this).val(); var r = /([a-f0-9]{2})([a-f0-9]{2})/i; str = e.replace(/[^a-f0-9]/ig, ""); while ( r.test(str)){ str = str.replace(r, '$1' + ':' + '$2'); } e = str.slice(0,17); $(this).val(e); var regexp = /^(([A-Fa-f0-9]{2}[:]){5}[A-Fa-f0-9]{2}?)+$/i; var mac_address = $(this).val(); if(regexp.test(mac_address)) { console.log("Valid: "+ mac_address); $('#update_mac_addr').attr('disabled',false); } else { console.log("Invalid: "+ mac_address); $('#update_mac_addr').attr('disabled',true); } }); $('body').on('keypress','#mac_address', function(e) { if(e.keyCode == 13) { var inputs = $(this).parents("form").eq(0).find(":input"); var idx = inputs.index(this); if (idx == inputs.length - 1) { inputs[0].select() } else { inputs[idx + 1].focus(); // handles submit buttons inputs[idx + 1].select(); } return false; } });