视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
js文本框输入长度两种方式(长度、字节数)_基础知识
2020-11-27 21:06:11 责编:小采
文档


功能/特点:
1.实时显示可输入的字数(字节数)
2.两种方式(长度、字节数)
3.中文输入法下可正常使用,无BUG
4.同一页面可以使用多个,相互不干扰
limit.js
代码如下:
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;
}
}

页面调用:
代码如下:



还可输入个字符

var lim=new limit();
lim.txtNote=document.getElementById("txtNote");
lim.txtLimit=document.getElementById("txtCount");
lim.limitCount=20;
lim.isbyte=true;
lim.init();
// -->


文本框字符长度
代码如下:


上面这样写只能输入的一定是数字 和最大长度为11个字符 如何一定要输入11位 不能少也不能多
------解决方案--------------------------------------------------------
你确定上面的写法对吗。。测试怎么通不过呢。
不对吗 测试那里不对 这个现在只是输入一定是数字和11个字符
------解决方案--------------------------------------------------------
代码如下:


上面这样写只能输入的一定是数字 和最大长度为11个字符 如何一定要输入11位 不能少也不能多
------解决方案--------------------------------------------------------
代码如下:


上面这样写只能输入的一定是数字 和最大长度为11个字符 如何……
------解决方案--------------------------------------------------------
代码如下:
if(document.form.mobile.value=="")
{
alert("您输入错误");
document.forma.mobile.focus();
return false;
}
else
{
if(!/^\d{11}$.test(document.form.mobile.value))
{alert("您输入数字的位数不对");
document.forma.mobile.focus();
return false;
}
}

不知道这样行不行。。
------解决方案--------------------------------------------------------
HTML code
代码如下:



控制textarea的字符个数


function LessThan(oTextArea){
//返回文本框字符个数是否符号要求的boolean值
return oTextArea.value.length < oTextArea.getAttribute("maxlength");
}







------解决方案--------------------------------------------------------
HTML code
代码如下:



电话号码检测






电话号码:

function checkPhone(){
var phone = document.getElementById("phone").value;
if(phone == ""){
alert("请输入号码");
}else if(!(/^\d{11}$/g.test(phone))){//输入11整数
//}else if(!(/^13\d{9}$/g.test(phone)||(/^15[0-35-9]\d{8}$/g.test(phone))|| (/^18[05-9]\d{8}$/g.test(phone)))){
//用于检测用户输入的手机号码是否正确 验证13系列和150-159(154除外)、180、185、186、187、188、1几种号码,长度11位
alert("请输入11整数");
}else{
alert("ok");
}
}




------解决方案--------------------------------------------------------
代码如下:


上面这样写只能输入的一定是数字 和最大长度为11个字符 如何……
这样是可以有个提示,但并没起到作用,,当输入少于11位 还是可以提交的,这个是不是要用js来控制的呢

下载本文
显示全文
专题