【发布时间】:2012-11-21 10:48:55
【问题描述】:
我有一个文本框,我希望最多允许 11 位数字、一个可选的逗号以及后面的两个数字。将键按下文本框时不应呈现任何其他内容:
$('#txt').keypress(function (e) {
var code = e.which;
var key = String.fromCharCode(code);
// REGEX TO AVOID CHARS & A DOT (.)
var pattern = /[a-zA-Z]|\./g;
var isMatch = pattern.test(key);
if (isMatch) {
// DO NOT RENDER CHARS & dot
e.preventDefault();
}
});
上面的代码在按下无效键时有效,例如字符或点,但不能确保只有一个逗号和后面只有 2 个数字。
这必须匹配:
12314
123123,44
这不能:
12313,6666
Here 是一个演示。
更新: 必须避免除数字和逗号之外的任何数字,因此我提出的正则表达式无效,因为只能防止点 (.)。
【问题讨论】:
标签: javascript jquery regex