react加减输入框_巧用ReactJS来限制输入框的输入值

1.限制输入框只能填写数字

大家都知道,在输入框限制只能输入数字用JS的来判断要考虑的情况比较多,比如中文切换,复制粘贴限制,用reactJS来实现很简单

var _val = ""; /*保存上次的值*/

var R_header = React.createClass({

getInitialState:function(){

return {info:""};

},

changeVal:function(e){

var val = e.target.value;

if(isNaN(val)){

val = _val;

this.setState({"info":"只能输入数字!"});

setTimeout(function(){

this.setState({"info":""});

}.bind(this),1000);

}else{

_val = val;

}

this.setState({"val":val});

},

render:function(){

return (

{this.state.info}

);

}

});

2.限制输入框的字数

changeVal:function(e){

var val = e.target.value;

var length = val.length;

this.setState({"i_val":val.substring(0,10)});

if(length > 10){

this.setState({"info":"不能输入超过10个字!"});

setTimeout(function(){

this.setState({"info":""});

}.bind(this),1000);

}else{

this.setState({"info":""});

}

},

render:function(){

return (

{this.state.info}

);

}

3.即时显示还可以输入多少个字

var R_header = React.createClass({

getInitialState:function(){

return {info:10};

},

changeVal:function(e){

var val = e.target.value;

var length = val.length;

this.setState({"i_val":val.substring(0,10)});

length < 11?this.setState({"info":(10-length)}):"";

},

render:function(){

return (

您还可以输入{this.state.info}个字

);

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值