input输入框校验

1、只能输入数字,当输入不符字符删除,光标位置不变

 1 //只能输入数字
 2 function onlyNumTrue(obj){
 3     var reg = /[^\d]/g; 
 4     var pos = obj.selectionEnd;//获取光标位置
 5     var val = obj.value; //获取input的值
 6     //如果值存在不符字符将光标位置减一 
 7     if (reg.test(val)) {
 8         pos = pos - 1;
 9     }
10     $(obj).val(val.replace(/[^\d]/g, ''));
11     obj.setSelectionRange(pos,pos);//设置光标位置
12 }

 2、输入框内光标移动

 1 <body>
 2     <input type="text" name="CAL_COM_ID" id="CAL_COM_ID" οnkeyup="cky(this)"/>
 3      
 4     <input type="text" name="CAL_COM_ID1" id="CAL_COM_ID1" οnkeyup="value=value.replace(/[^(\(\)\d\&\|)]/g,'')"/>
 5      
 6 <script type="text/javascript">
 7     function cky(obj)
 8     {
 9         var t = obj.value.replace(/[^(\(\)\d\&\|)]/g,"");
10         if(obj.value!=t)
11             obj.value=t;
12     }
13  
14 </script>
15 </body>

第一种写法写完后键盘左右键移动,光标可以移动;第二种写法光标不能移动。

3、使用replace时,不能控制光标的位置。

步骤:

1、获取光标位置:var pos = this.selectionEnd;//获取鼠标位置

2、设置光标位置:this.setSelectionRange(pos,pos);//设置鼠标位置

 

4、input输入框的事件监听  

https://blog.csdn.net/yiifaa/article/details/52372022

转载于:https://www.cnblogs.com/ssbydk/p/9360610.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值