您的位置:首页 > Web前端 > JavaScript

JS限制文本框录入长度(支持字符限制)

2010-08-13 13:03 507 查看
01.function limit(){ 02. var txtNote;//文本框 03. var txtLimit;//提示字数的input 04. var limitCount;//限制的字数 05. var isbyte;//是否使用字节长度限制(1汉字=2字符) 06. var txtlength;//到达限制时,字符串的长度 07. var txtByte; 08. this.init=function(){ 09. txtNote=this.txtNote; 10. txtLimit=this.txtLimit; 11. limitCount=this.limitCount; 12. isbyte=this.isbyte; 13. txtNote.onkeydown=function(){wordsLimit()};txtNote.onkeyup=function(){wordsLimit()}; 14. txtLimit.value=limitCount; 15. } 16. function wordsLimit(){ 17. var noteCount=0; 18. if(isbyte){noteCount=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length}else{noteCount=txtNote.value.length} 19. if(noteCount>limitCount){ 20. if(isbyte){ 21. txtNote.value=txtNote.value.substring(0,txtlength+Math.floor((limitCount-txtByte)/2)); 22. txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length; 23. txtLimit.value=limitCount-txtByte; 24. }else{ 25. txtNote.value=txtNote.value.substring(0,limitCount); 26. txtLimit.value=0; 27. } 28. }else{ 29. txtLimit.value=limitCount-noteCount; 30. } 31. txtlength=txtNote.value.length;//记录每次输入后的长度 32. txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length; 33. } 34.} function limit(){ var txtNote;//文本框 var txtLimit;//提示字数的input var limitCount;//限制的字数 var isbyte;//是否使用字节长度限制(1汉字=2字符) var txtlength;//到达限制时,字符串的长度 var txtByte; this.init=function(){ txtNote=this.txtNote; txtLimit=this.txtLimit; limitCount=this.limitCount; isbyte=this.isbyte; txtNote.onkeydown=function(){wordsLimit()};txtNote.onkeyup=function(){wordsLimit()}; txtLimit.value=limitCount; } function wordsLimit(){ var noteCount=0; if(isbyte){noteCount=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length}else{noteCount=txtNote.value.length} if(noteCount>limitCount){ if(isbyte){ txtNote.value=txtNote.value.substring(0,txtlength+Math.floor((limitCount-txtByte)/2)); txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length; txtLimit.value=limitCount-txtByte; }else{ txtNote.value=txtNote.value.substring(0,limitCount); txtLimit.value=0; } }else{ txtLimit.value=limitCount-noteCount; } txtlength=txtNote.value.length;//记录每次输入后的长度 txtByte=txtNote.value.replace(/[^/x00-/xff]/g,"xx").length; } } 页面调用: view plaincopy to clipboardprint? 01. 02. 03. 04.还可输入个字符 05. 06.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: