我想通过以下方式使用 jauery 验证文本字段:
1.文本字段只取0-9,只有一位小数;和
2.如果输入的金额不是负数,在输入的数字前加负号!
$('[name="pm"]').keyup(function() {
//?
});
我想通过以下方式使用 jauery 验证文本字段:
1.文本字段只取0-9,只有一位小数;和
2.如果输入的金额不是负数,在输入的数字前加负号!
$('[name="pm"]').keyup(function() {
//?
});
您可以通过正则表达式验证字符串,并且String#match
:
if (this.value.match(/^-?\d+(?:\.\d){0,1}$/)) {
// It's valid
}
或者更多 jQuery-ish (并且上面不textarea
可靠地支持,只是input
):
if ($(this).val().match(/^-?\d+(?:\.\d){0,1}$/)) {
// It's valid
}
(例如,this.value
=> $(this).val()
。)
分解正则表达式:
^
- 匹配字符串的开头-?
- 单个可选-
字符\d+
- 一位或多位数字 (0-9)(?:...)
- 非捕获分组,包含:
\.\d
- 最多一个.
后跟一个数字{0,1}
- 允许非捕获分组零次或一次$
- 匹配字符串结尾请注意,上述拒绝-.1
. 如果您想接受它,它会变得更加复杂,但上面的链接应该会有所帮助。
指定溶液的排列和添加:
来自@Some_Coder 答案
1)首先这样做
http://www.texotela.co.uk/code/jquery/numeric/
来自组织者的修改回答
$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } if ($(this).val() == '-') { $(this).val(''); } });
你会得到想要的结果!
试试这段代码。
$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } });
如果它不起作用,请将其替换为 $('[name="pm"]')
如果你使用 jQuery,那么你可以使用这个插件。