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

html-css013

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>

width:560pxmax-height:300pxmargin:autooverflow:auto就这样的话就可以了。这个div的高度和宽度固定,文字自动换行,超过高度后自动出现滚动条,宽高不变。你可以自己试试

html表单中输入字符的最小长度是1个字符。

用input text标签的maxlength属性即可实现,代码如下:

<input type="text" maxlength="XX" />

maxlength 属性后面设置需要限制的字段长度即可。