用正则表达式限制只能输入数字:[color=#008080]onkeyup="value=value.replace(/[^\d]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"[/color] 上面的只能输整数,小数就不行了,怎样改成只能输数字(包括decimal型小数)
这里的小数指的是日常生活中的小数(1.符合数学中小数定义(如.0,-.8就不算小数; 2.包括负小数; 3.编程语言中的小数如‘0.3f’因含有字母排除在外 3.非换算后的(如4%虽换算后也为小数但排除在外)
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"[/color] 上面的只能输整数,小数就不行了,怎样改成只能输数字(包括decimal型小数)
这里的小数指的是日常生活中的小数(1.符合数学中小数定义(如.0,-.8就不算小数; 2.包括负小数; 3.编程语言中的小数如‘0.3f’因含有字母排除在外 3.非换算后的(如4%虽换算后也为小数但排除在外)
看下面的式子
<script type="text/javascript">
var CSHOW = function (f) {
//测试函数
var a = [], b = arguments, i = 1;
for (; i < b.length ; i ++) a[i - 1] = b[i] + " = " + f(b[i]);
alert(a.join("\n"));
};var isNumber = function (string) {
/*
return /^-?\d*\.?\d+$/.test(string); //小数点前可以为空
*/
return /^-?(?:\d+\.?)?\d+$/.test(string);
};CSHOW(
isNumber, "123", "23.", "123.23", ".23", "1.234", "1.23"
);
</script>
var CSHOW = function (f) {
//测试函数
var a = [], b = arguments, i = 1;
for (; i < b.length ; i ++) a[i - 1] = b[i] + " = " + f(b[i]);
alert(a.join("\n"));
};var isNumber = function (string) {
/*
return /^-?\d*\.?\d+$/.test(string); //小数点前可以为空
*/
return /^-?\d+(?:\.\d+)?$/.test(string);
};CSHOW(
isNumber, "123", "23.", "-123.23", ".23", "1.234", "1.23"
);
</script>
-? 表示没有或只有一个负号
\d+ 表示有多于一个数字
\.? 表示没有或只有一个小数点
\d+ 表示小数点后面将要有1个或更多数字