HTML限制输入个数,如何使用CSS(或jQuery,如果需要)限制输入HTML输入的字符数?

jsFiddle

首先,设置maxlength,如:< input type =“text”id =“txtbxSSNOrITIN”maxlength =“5”>

$(document).on("change",function () {

var ckd = this.checked; // ckd is now a boolean

$('[id$=txtbxSSNOrITIN]')

.attr("maxlength",ckd? 2 : 5) // 2 characters if checked,else 5

.css({

background: ckd? '#ffff00' : "green",// yellow if checked,else green

width: ckd? 24 : 144 // 24px if checked,else 144

});

});

上面还有一个较小的问题,那就是如果:用户最初输入超过5个字符,如果你点击复选框,值长度仍然是5!因此,您需要一个额外的条带,以删除不需要的字符,如:

$(document).on("change",function () {

var ckd = this.checked;

$('[id$=txtbxSSNOrITIN]').attr("maxlength",ckd? 2 : 5).css({

background: ckd? '#ffff00' : "green",width: ckd? 24 : 144

}).val(function(i,v){

// If checked,slice value to two characters:

return ckd && v.length>2 ? v.slice(0,2) : v;

});

});

如果你想使用你构建的代码去专业,你可能还想要

防止用户感到愚蠢

通过存储最后一个(长一个)类型的值.如果用户单击复选框而不是意识到“那么……那是愚蠢的”,再次勾选它应该返回旧的值:

$(document).on("change",function () {

var ckd = this.checked;

var $input = $('[id$=txtbxSSNOrITIN]');

if(ckd) $input.data("oldValue",$input.val() ); // Remember the current value

$input.prop("maxlength",ckd? 2 : 5).css({

background: ckd? '#ffff00' : "green",v){

// If checked,slice value to two characters:

return ckd && v.length>2 ? v.slice(0,2) : $input.data("oldValue");

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值