Html的文本框怎样限制录入文本框的字节长度

Html的文本框怎样限制录入文本框的字节长度,第1张

试试这个: limit.jsview plaincopy to clipboardprint?

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

}

}

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?

<html>

<body>

<input id="txtNote" />

还可输入<input type="text" id="txtCount" />个字符

</body>

<mce:script type="text/javascript"><!--

var lim=new limit()

lim.txtNote=document.getElementById("txtNote")

lim.txtLimit=document.getElementById("txtCount")

lim.limitCount=20

lim.isbyte=true

lim.init()

// --></mce:script>

</html>

你设置你文字的大小 font-size:12px ,再设置你现在文字的块加上

text-indent:28px那么这里面文字字头都会空两格。

也就是说 你写样式的时候 先设置你文字的大小 font-size: X;

那你在这个文字块里面加上样式 text-indent:2X就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7356929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存