input輸入框,正則格式化手機號(344)
阿新 • • 發佈:2019-02-18
最近有個H5手機頁面需要做344的格式化,以前沒有注意到,寫的時候發現問題很多,然後就找大神的程式碼,抄襲下。
1.html版本
/*input框使用onkeyup事件
*/
function formatPhoneOnkeyUp(mobile){
var value = mobile.replace(/\D/g, '').substring(0, 11);
var valueLen = value.length;
if (valueLen > 3 && valueLen < 8) {
value = `${value.substr(0 , 3)} ${value.substr(3)}`;
} else if (valueLen >= 8) {
value = `${value.substr(0, 3)} ${value.substr(3, 4)} ${value.substr(7)}`;
}
return value;
}
2.js版本。jsp可以用。
function formatPhoneOnkeyUp(mobile){
var value = mobile.replace(/\D/g, '').substring(0, 11);
var valueLen = value.length;
if (valueLen > 3 && valueLen < 8) {
value = value.replace(/^(...)/g, "$1 ");
} else if (valueLen >= 8) {
value = value.replace(/^(...)(....)/g, "$1 $2 ");
}
return value;
}
最近發現這個程式碼有bug,移動游標刪除數字或空格,游標會跳。好心塞。而且因為$符號的問題,方法沒法在jsp裡面使用。 好難過。再加個方法相容jsp
這只是一個簡單的方法,需要用的同學,請結合自己的業務修改。
程式碼是從阿里的一個js組建的原始碼裡抄襲的一點。感覺很簡單的程式碼,但是自己寫的時候就bug很多。對js基礎知識理解不深刻。
這就是差距!!!