function Chang (str, len) {function Lenstat (str) {function Ischinese (str) {///judgment Yes Not chinese var reCh =/[u00-uff]/; return!rech.test (str); } var strlen = 0; The initial definition length is 0 var text = Str.trim (); for (var i = 0; I<text. length; i++) {if (Ischinese (Text.charat (i))== true) {strlen= strlen+ 2;//Chinese is 2 characters} else {strlen= strlen+ 1;//English one character}} return strlen; } var strlen= Lenstat (str); Console.log (strlen); var STRs= "; For (var i= 0;I <strlen; i= i+len) {STRs += str.substring (i,i + len) + "<br>"; } return STRs; } chang (str,20); Console.log (Chang (str,20)); var sd = document.getElementById (' SD '); Sd.innerhtml =chang (str,20);
The effect is as follows:
Bug problem:
are Chinese characters and character numbers counted as a truncated length? Instead of by character?
There are spaces in the middle that cannot be ignored.
JavaScript limit string word wrap with bug