限制字符串長度


在開發web頁面時,表單內字符串過長而超出規定長度會導致一些不必要的麻煩,
比如:
     用戶注冊時系統限制的用戶名只有8個英文字符,但是用戶輸入了10個或者更多的字符時,
就可能造成昵稱頁面顯示錯行,或者昵稱被截斷的問題。
下面是限制字符串長度的解決方案:
1,通過使用JavaScript原生的獲取屬性的方法:
#id.getAttribute("data-length");

來判斷輸入框的限制長度。

2,通過比對輸入的長度與輸入框的限制長度屬性進行比較:

if(輸入長度 > 屬性長度){
  value = value.substr(0,屬性長度); //超過長度自動截取  
}

HTML代碼:

<input type="text" data-length="6" id="limitLength" name="Iname"/>

JavaScript方法:

var  maxLength = function(tThis){
    var _v = tThis.value.replace(maxRegex,''), //獲取輸入文本(去除空格)
    _vLen = _v.length,
    dataLength = tThis.getAttribute('data-length'), //獲取限制長度
    dataModel = tThis.getAttribute('data-model'),
    subLen = dataLength;
                    
    if(_vLen > dataLength){
    tThis.value = _v.substr(0,subLen);  //判斷長度,超過長度自動截取
    }
}

完整的javaScript代碼:

var limitLength = document.getElementById('limitLength');
            var maxRegex = /\s+/g;//去除空格的正則表達式
            var  maxLength = function(tThis){
                var _v = tThis.value.replace(maxRegex,''), //獲取輸入文本(去除空格)
                    _vLen = _v.length,
                    dataLength = tThis.getAttribute('data-length'), //獲取限制長度
                    dataModel = tThis.getAttribute('data-model'),
                    subLen = dataLength;
                    
                if(_vLen > dataLength){
                    tThis.value = _v.substr(0,subLen);  //判斷長度,超過長度自動截取
                }
            }
            
            limitLength.onblur = function(){
                maxLength(this);
            }
            
            limitLength.onkeyup = function(){
                maxLength(this);
            }
            
            limitLength.onfocus = function(){
                maxLength(this);
            }
View Code

如果您感興趣,請點一下推薦額,謝謝!

掃碼關注微信公眾號:


免責聲明!

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



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