jQuery限制文字框輸入長度詳解
通常情況下,文字框輸入內容的長度是有限制的。
下面通過程式碼例項介紹一下利用jQuery實現限制文字框內容輸入長度功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> function len(s){ s=String(s); return s.length+(s.match(/[^\x00-\xff]/g) || "").length; } function limit(obj,limit){ var val=obj.value; if(len(val)>limit){ val=val.substring(0,limit); while (len(val)>limit){ val=val.substring(0,val.length-1); }; obj.value=val; } } $(document).ready(function(){ $("#txt").keyup(function(){ limit(this,10); }) $("#txt").contextmenu(function () { return false; }) }) </script> </head> <body> <input type="text" id="txt"/> </body> </html>
上面程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function len(s){},此函式可以計算字串的長度,引數是計算的字串。
(2). s=String(s),將引數轉換為字串。
(3).return s.length+(s.match(/[^\x00-\xff]/g) || "").length;,計算字串的長度,這裡能夠區分漢字,s.match(/[^\x00-\xff]/g)這個能夠返回字串中全形字元的陣列,然後用length計算出數目,如果沒有匹配的則返回null,這個時候就使用空字元"",然後再加上字串的length就是區分中英文的字串的長度了。
(4).function limit(obj,limit){},此函式實現了限制字串長度的功能,第一個引數要輸入字串的物件,第二個是規定的長度。
(5).var val=obj.value,獲取指定物件的值。
(6).if(len(val)>limit),判斷長度是否大於限制的值。
(7).val=val.substring(0,limit),擷取字串長度,這裡擷取的時候並沒有區分中英文。
(8).while(len(val)>limit){val=val.substring(0,val.length-1);},因為上面的擷取的是字元的個數,沒有區分中英文,所以擷取後,還是有可能超出限制長度的,比如"螞蟻部落abc",長度是11,如果擷取5的話,就是"螞蟻部落a",這個時候它的長度是9,還是長度5,所以還要不斷的判斷減少字元的個數,知道不超過限制為止。
(9).obj.value=val,將擷取後的值賦值給指定物件。
(10).$(document).ready(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。
(11).$("#txt").keyup(function(){limit(this,10);}),當鍵盤按鍵鬆開既可以實現判斷長度擷取字串效果。
(12).$("#txt").contextmenu(function () {return false}),防止右鍵複製黏貼操作。
二.相關閱讀:
(1).String()參閱JavaScript String()方法一章節。
(2).match()參閱正規表示式match()方法一章節。
(3).substring()參閱JavaScript substring()方法一章節。
(4).keyup事件參閱jQuery keyup事件一章節。
相關文章
- javascript限制文字框輸入長度JavaScript
- iOS Swift 輸入框限制長度iOSSwift
- UITextView如何精準限制文字輸入長度UITextView
- 文字框輸入文字倒計詳解
- 限定文字框輸入字串長度程式碼字串
- 解決element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- jquery實現的限制文字框只能輸入非負實數jQuery
- 文字框限制輸入字數的JSJS
- element-ui 輸入框el-input 輸入長度限制元件不生效UI元件
- jQuery文字框輸入內容同步jQuery
- jquery實現的限制文字框只能夠輸入大於0整數jQuery
- jQuery文字框內容輸入同步功能jQuery
- 表單限制字串輸入長度字串
- iOS 限制textField輸入的長度iOS
- Qt 實現文字輸入框,帶字數限制QT
- 限制文字框只能輸入數字:Asp.net&C#ASP.NETC#
- 限制文字框只能夠輸入數字程式碼例項
- javascript限制textarea文字框輸入字元個數程式碼例項JavaScript字元
- input只能輸入文字框
- jQuery Validate限定輸入字串的長度jQuery字串
- jQuery文字框輸入數字彈出格式化層jQuery
- Axure之解決文字框無法輸入
- 讓 Android 輸入框只能輸入固定長度的中英文Android
- SQLPLUS 下輸入命令的字元長度限制SQL字元
- vue---input只能輸入數字,且限制長度Vue
- 直播軟體開發,限制富文字框輸入的字元數上限字元
- Jquery 應用(清空輸入框)jQuery
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- iOS開發若何更好的限制UITextField的輸入長度?iOSUI
- jQuery實現的規定文字框中只能輸入正整數jQuery
- JavaScript 文字框只能輸入數字JavaScript
- JavaScript 文字框輸入內容同步JavaScript
- JS 文字輸入框放大鏡效果JS
- 文字框只能輸入數字 javascriptJavaScript
- jQuery不能修改input輸入框typejQuery
- Angular.js 限制輸入框輸入內容,為純數字AngularJS
- 文字框只能輸入數字程式碼
- 詳細實現微信輸入框效果(textView自適應文字高度)TextView