您的位置:首页 > 其它

限制字符串长度

2016-05-23 08:34 148 查看
在开发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
[b]如果您感兴趣,请点一下推荐额,谢谢![/b]

[b]扫码关注微信公众号:[/b]

[b]

[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: