
/**//* This function is use to check the length whether current length is overflow the designated length, on control get focus or on key up
* ctrlId: target control
* return: max length
*/
function lengthCheck(ctrlId,max)...{
var oControl = ctrlId;
var oX = getAbsoluteLeft(oControl);
var oY = getAbsoluteTop(oControl);
var oCounter = document.getElementById('dCounter');
oCounter.style.display='block';

if(getBytesLength(oControl.value) > max)...{
for(var i =1; i<oControl.value.length;i++)...{
//alert(getBytesLength(oControl.value.substr(0,i)));
if(getBytesLength(oControl.value.substr(0,i+1))>=max)...{
oControl.value = oControl.value.substr(0,i);
}
}
}

if(oCounter!=null)...{
oCounter.innerHTML = getBytesLength(oControl.value)+"/"+max;
oCounter.style.left = oX-20;
oCounter.style.top = oY-20;
}
}

/**//* This function is use to check the length whether current length is overflow the designated length, on control lose focus
* ctrlId: target control
* return: max length
*/
function lengthCheckOver(ctrlId,max)...{
var oControl = ctrlId;
var oX = getAbsoluteLeft(oControl);
var oY = getAbsoluteTop(oControl);
var oCounter = document.getElementById('dCounter');

if(getBytesLength(oControl.value) > max)...{
for(var i =1; i<oControl.value.length;i++)...{
//alert(getBytesLength(oControl.value.substr(0,i)));
if(getBytesLength(oControl.value.substr(0,i+1))>=max)...{
oControl.value = oControl.value.substr(0,i);
}
}
}

if(oCounter!=null)...{
oCounter.innerHTML = getBytesLength(oControl.value)+"/"+max;
oCounter.style.left = oX-20;
oCounter.style.top = oY-20;
oCounter.style.display='none';
}
}

/**//* This function is use to get bytes length from a string which either ASCII or Uncode.
* str: appointed string
* return: bytes length
*/
function getBytesLength(str)
...{
var re=/[
本文介绍了一种用于检查输入字段中字符数量是否超出指定最大长度的方法,并提供了两种不同场景下的实现:获取焦点时及失去焦点时。这两种方法都能有效地帮助用户了解当前输入长度并防止超出限制。
469

被折叠的 条评论
为什么被折叠?



