jQuery控制文本框只能輸入數(shù)字和字母及使用方法
來源:易賢網(wǎng) 閱讀:828 次 日期:2016-06-22 16:04:13
溫馨提示:易賢網(wǎng)小編為您整理了“jQuery控制文本框只能輸入數(shù)字和字母及使用方法”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了jQuery控制文本框只能輸入數(shù)字和字母及使用方法的相關(guān)資料,非常不錯而且實用性也很高,需要的朋友可以參考下

在公司開發(fā)WinForm項目時,發(fā)現(xiàn)公司自主研發(fā)的textbox控件非常強大,可以實現(xiàn)"只能輸入數(shù)字"、"只能輸入字母"和"只能輸入數(shù)字和字母"的三種輸入限制,這樣就可以精確控制用戶輸入的內(nèi)容范圍,讓"用戶永遠(yuǎn)沒有辦法輸入限定的內(nèi)容范圍之外的其他內(nèi)容",也就是"用戶即使想犯錯誤也沒有機會",這種限制控件輸入的方式給了我很大的啟發(fā),如果在web項目中也能做到這樣的精確控制,那么就可以避免因為一些非法輸入而造成系統(tǒng)出錯,既然WinForm里面可以實現(xiàn)這樣的控件,那么web項目里面也應(yīng)該有辦法去實現(xiàn)類似這樣的控件或者能夠做到類似的效果,經(jīng)過自己的一番研究和查找資料,終于做到了類似的效果,針對"只能輸入數(shù)字"、"只能輸入字母"和"只能輸入數(shù)字和字母"的三種輸入限制,我封裝成onlyNum(),onlyAlpha()和onlyNumAlpha()3個Jquery擴展方法,方便復(fù)用,由于里面一些JS代碼涉及到了"禁用輸入法,獲取剪切板的內(nèi)容",而"禁用輸入法,獲取剪切板的內(nèi)容"只能在IE瀏覽器下才有效,對于別的瀏覽器是無效的,因此這三個方法只適合在IE瀏覽器下使用才有效,三個方法的代碼如下:

代碼如下:

一、限制只能輸入數(shù)字

// ----------------------------------------------------------------------

 // <summary>

 // 限制只能輸入數(shù)字

 // </summary>

 // ----------------------------------------------------------------------

 $.fn.onlyNum = function () {

   $(this).keypress(function (event) {

     var eventObj = event || e;

     var keyCode = eventObj.keyCode || eventObj.which;

     if ((keyCode >= && keyCode <= ))

       return true;

     else

       return false;

   }).focus(function () {

   //禁用輸入法

     this.style.imeMode = 'disabled';

   }).bind("paste", function () {

   //獲取剪切板的內(nèi)容

     var clipboard = window.clipboardData.getData("Text");

     if (/^\d+$/.test(clipboard))

       return true;

     else

       return false;

   });

 };

二、限制只能輸入字母

// ----------------------------------------------------------------------

 // <summary>

 // 限制只能輸入字母

 // </summary>

 // ----------------------------------------------------------------------

 $.fn.onlyAlpha = function () {

   $(this).keypress(function (event) {

     var eventObj = event || e;

     var keyCode = eventObj.keyCode || eventObj.which;

     if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))

       return true;

     else

       return false;

   }).focus(function () {

     this.style.imeMode = 'disabled';

   }).bind("paste", function () {

     var clipboard = window.clipboardData.getData("Text");

     if (/^[a-zA-Z]+$/.test(clipboard))

       return true;

     else

       return false;

   });

 };

三、 限制只能輸入數(shù)字和字母

// ----------------------------------------------------------------------

// <summary>

// 限制只能輸入數(shù)字和字母

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyNumAlpha = function () {

  $(this).keypress(function (event) {

    var eventObj = event || e;

    var keyCode = eventObj.keyCode || eventObj.which;

    if ((keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ) || (keyCode >= && keyCode <= ))

      return true;

    else

      return false;

  }).focus(function () {

    this.style.imeMode = 'disabled';

  }).bind("paste", function () {

    var clipboard = window.clipboardData.getData("Text");

    if (/^(\d|[a-zA-Z])+$/.test(clipboard))

      return true;

    else

      return false;

  });

};

使用方法:首先在畫面加載完成之后編寫如下的JS腳本

$(function () {

  // 限制使用了onlyNum類樣式的控件只能輸入數(shù)字

  $(".onlyNum").onlyNum();

  //限制使用了onlyAlpha類樣式的控件只能輸入字母

  $(".onlyAlpha").onlyAlpha();

  // 限制使用了onlyNumAlpha類樣式的控件只能輸入數(shù)字和字母

  $(".onlyNumAlpha").onlyNumAlpha();

 });

對需要做輸入控制的控件設(shè)置class樣式

<ul>

    <li>只能輸入數(shù)字:<input type="text" class="onlyNum" /></li>

    <li>只能輸入字母:<input type="text" class="onlyAlpha" /></li>

    <li>只能輸入數(shù)字和字母:<input type="text" class="onlyNumAlpha" /></li>

</ul>

這樣畫面上凡是設(shè)置了class="onlyNum"的控件就只能輸入數(shù)字,設(shè)置了class="onlyAlpha"的控件只能輸入字母,設(shè)置了class="onlyNumAlpha"的控件只能輸入數(shù)字和字母,通過這種方式就可以限制了用戶的輸入范圍,避免用戶進行一些非法的輸入。

以上所述是小編給大家介紹的jQuery控制文本框只能輸入數(shù)字和字母及使用方法,希望對大家有所幫助

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)