【发布时间】:2014-04-18 11:00:07
【问题描述】:
在输入类型文本框中获取最多 13 个数字,但如果用户按十进制形式输入 14 个数字,那么它应该最多允许 16 个数字。
HTML:
<input type="text" maxlength="15" onkeyup="checkCurrency(this)"/>
脚本:
function checkCurrency(ctrl) {
ctrl.setAttribute('maxlength', '16');
var currency = ctrl.value.replace(/[,]+/g, '');
var valid = /^\d{0,13}(\.\d{0,2})?$/.test(currency),
val = currency;
if (valid) {
ctrl = val;
} else {
ctrl.setAttribute('maxlength', '13');
}
};
现在,当第 14 位是小数(。)时,它可以正常工作,但请把任何整数放在第 14 位,看看有什么区别。
【问题讨论】:
-
我今天才在 SO 上看到这种类型的问题>>>
-
你的代码正在运行你还想要什么
-
不工作意味着 - 当第 14 位是一个整数时,它会显示第 14 个值,然后将其修剪,使其看起来像眨眼。
-
@C-link,这种不懂的问题?
-
是的,但是用 jquery 解决
标签: javascript jquery