可以使用html5的number类型实现限制文本框只能输入数字。
具体步骤如下:
需要准备的材料分别是:电脑、浏览器、ultraedit。
1、在ue编辑器中新建一个空白的html文件。
2、在ue编辑器中输入以下html代码。
3、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。
4、在浏览器中打开此html文件,可以看到最终想要实现的限制文本框只能输入数字效果。
试试这个: 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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)