使用jquery实现input输入只能是数字,小数

本文是本人在学习过程中从百度上搜索的答案,仅用于自己的学习笔记。

1)<script type="text/javascript">
$("#ipt1").keyup(function () {

//match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

// \d:匹配一个数字字符。等价于[0-9]
// 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。
var reg = $(this).val().match(/\d+\.?\d{0,10}/);
var txt = '';
if (reg != null) {
txt = reg[0];
}
$(this).val(txt);
}).change(function () {
//当元素的值发生改变时,会发生 change 事件。
$(this).keypress();
//当按钮被按下时,会发生该事件。它发生在当前获得焦点的元素上。
var v = $(this).val();
//test() 方法用于检测一个字符串是否匹配某个模式.
// "$"表示字符结尾。如:/^abc$/表示以c结束的字符。
//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
if (/\.$/.test(v))
{
$(this).val(v.substr(0, v.length - 1));
}
});
</script>

2) onkeyup 事件会在键盘按键被松开时发生,onkeyup +onafterpaste 限制文本框只能输入数字

execCommand('Undo')是对表单进行撤销动作

<input type="text" class="form-control" id="ipt1"  onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"/>

猜你喜欢

转载自www.cnblogs.com/lita-yuan/p/9418534.html
今日推荐