/*
Value: value;
Bytelength: Database Byte Length
Title: Chinese name of the field
Attribute: attribute name
Usage instructions:
Add (1) onkeyup = "limitlength (this. Value, 100, 'name', 'name ')"
(2) id = "name" or [struts tag] styleid = "name"
Note: The ID and attribute names must be the same.
Example: <textarea name = "Explain" id = "Explain" onkeyup = "limitlength (value, 5, 'semantic description', 'explain ')">
Or
<Input type = "text" name = "Explain" id = "Explain" onkeyup = "limitlength (value, 5, 'semantic description', 'explain ')">
*/
Function limitlength (value, bytelength, title, attribute ){
VaR newvalue = value. Replace (/[^ \ x00-\ xFF]/g ,"**");
VaR length = newvalue. length;
// When the number of bytes entered is smaller than the set number of bytes
If (length * 1 <= bytelength * 1 ){
Return;
}
VaR limitdate = newvalue. substr (0, bytelength );
VaR COUNT = 0;
VaR limitvalue = "";
For (VAR I = 0; I <limitdate. length; I ++ ){
VaR flat = limitdate. substr (I, 1 );
If (flat = "*"){
Count ++;
}
}
VaR size = 0;
VaR istar = newvalue. substr (bytelength * 1-1, 1); // check whether the checkpoint is "×"
// If the base point is X; determines whether X is an even number or an odd number within the base point.
If (count % 2 = 0 ){
// When the value is an even number
Size = count/2 + (bytelength * 1-count );
Limitvalue = value. substr (0, size );
} Else {
// When the value is an odd number
Size = (count-1)/2 + (bytelength * 1-count );
Limitvalue = value. substr (0, size );
}
Alert (Title + "maximum input" + bytelength + "bytes (equivalent to" + bytelength/2 + "Chinese characters )! ");
Document. getelementbyid (attribute). value = limitvalue;
Return;
}