input輸入框限制僅能輸入數字且規定數字長度(使用與輸入手機號)


  現在越來越多的賬戶名使用手機號來登錄,為了減少前后端的交互,需要用戶在輸入時就要進行格式的判斷,

  目前的常規辦法是,在輸入完成后進行判斷。

  下面的方法是在輸入時就規定只能輸入數字,其他格式的字符是無法輸入進去的:

<input onkeydown="onlyNum();" style="ime-mode:Disabled" maxlength="11">
//ime-mode:Disabled:作用是完全禁用IME。對於有焦點的控件(如輸入框),用戶不可以激活IME;
//ime-mode的其他屬性值及作用如下:
    //auto  : 默認值。不影響IME的狀態。與不指定 ime-mode 屬性時相同
    //active  : 指定所有使用IME輸入的字符。即激活本地語言輸入法。用戶仍可以撤銷激活IME
    //inactive  : 指定所有不使用IME輸入的字符。即激活非本地語言。用戶仍可以撤銷激活IME

//maxlength:該屬性規定該input框中,輸入內容的長度;

<script language=javascript>
function onlyNum(){
    if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
    if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
    event.returnValue=false;  //執行至該語句時,阻止輸入;可類比阻止冒泡原理或者禁止右鍵功能;
}
</script>

  該方法還存在一些問題,無法阻止第三方輸入的任何字符,如果有其他更加完善的解決辦法,請留言,我也學習學習。

  另一種方法參見:http://www.cnblogs.com/hellobajie/p/5558452.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM