验证jquery中的负数,带有一个小数位

Sha*_*oor 1 javascript validation jquery jquery-validate

我想以下列方式使用jauery验证文本字段:

1.文本字段仅占用0-9,只有一个小数位;和

2.如果金额不是负数,请在输入数字的乞讨处输入负数符号!

$('[name="pm"]').keyup(function() {

    //?

 });
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

您可以通过正则表达式验证字符串,并String#match:

if (this.value.match(/^-?\d+(?:\.\d){0,1}$/)) {
    // It's valid
}
Run Code Online (Sandbox Code Playgroud)

或者更多jQuery-ish(以上并不是textarea可靠的,只是input):

if ($(this).val().match(/^-?\d+(?:\.\d){0,1}$/)) {
    // It's valid
}
Run Code Online (Sandbox Code Playgroud)

(例如,this.value=> $(this).val().)

打破正则表达式:

  • ^ - 匹配字符串的开头
  • -?- 单个可选-字符
  • \d+ - 一个或多个数字(0-9)
  • (?:...) - 非捕获分组,包含:
    • \.\d- 最多一个.后跟一位数
  • {0,1} - 允许非捕获分组零次或一次
  • $ - 匹配字符串的结尾

请注意,以上拒绝-.1.如果你想接受它,它会变得更复杂,但上面的链接应该有所帮助.

无偿的现场例子 | 资源