我想通过以下方式使用 jauery 验证文本字段:
<强>1。文本字段只取0-9,只有一位小数;和
<强>2。如果输入的金额不是负数,则将负号放在 请求输入的数字!
$('[name="pm"]').keyup(function() {
//?
});
最佳答案
您可以通过 regular expression 验证字符串和 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
。如果您想接受它,它会变得更加复杂,但上面的链接应该有所帮助。
关于javascript - 用一位小数验证jquery中的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049835/