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

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.οnkeydοwn=function(){wordsLimit()};txtNote.οnkeyup=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.οnkeydοwn=function(){wordsLimit()};txtNote.οnkeyup=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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值