var byteLength = function(str) { // returns the byte length of an utf8 string var s = str.length; for (var i=str.length-1; i>=0; i--) { var code = str.charCodeAt(i); if (code > 0x7f && code <= 0x7ff) s++; else if (code > 0x7ff && code <= 0xffff) s+=2; if (code >= 0xDC00 && code <= 0xDFFF) i--; //trail surrogate } return s; } var subStringTrim = function(str, maxLength){ if(!hasValue(str) || !hasValue(maxLength) || maxLength <= 0) return str; var strByteLength = byteLength(str); if(strByteLength <= maxLength) return str; //pick upto maxlength str = str.substr(0, maxLength); //check the length again and then do sub string by calculating max newLength. This is important for french chars. strByteLength = byteLength(str); if(strByteLength <= maxLength) return str; //english chars will get returned here //removing extra chars for other than english var newLength = maxLength - (strByteLength-maxLength); if(newLength > 0) str = str.substr(0, newLength); return str; }
↧
Answer by learning... for Substring French text using javascript replaces the special characters
↧