是否有任何现有的jQuery功能可以测试输入文本框的字符是数字还是数字有效?
如
.00或者0.00,但不是0.00.00或0a
我想要做的是在文本框中出现之前捕获任何无效字符.
如果使用jQuery是不可能的,那么最好的方法是什么?
我知道使用JavaScript我可以测试isNaN()然后返回false,但是当我必须考虑所有可能的击键时,这将开始变得毛茸茸.
只需使用正则表达式匹配
$('#formelement').val().match(/[-+]?[0-9]*\.?[0-9]+/)
Run Code Online (Sandbox Code Playgroud)
(除了选择器,其他一切都是普通的javascript)
如评论中所述,由于您需要为插入的每个字符执行此操作,因此必须考虑空小数部分有效(例如/[-+]?[0-9]*\.?[0-9]*/)
由于评论中的人强迫我准确,我可以建议你如何找出如何使用这种匹配为你的目的(但所以你不要让任何东西到OP的想象:()
您可以将正则表达式分为3个正则表达式,一个用于第一部分(最终符号和整个部分),一个用于第一部分加上点符号,一个用于整数.
验证例程应该在写入时接受输入,如果它与刚刚描述的三个正则表达式中的至少一个匹配,并且最后完成的验证应该在最后一个正则表达式匹配时接受(因为您提交值并且您需要它是正确的)
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |