javascript - 用一位小数验证jquery中的负数

标签 javascript jquery validation jquery-validate

我想通过以下方式使用 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。如果您想接受它,它会变得更加复杂,但上面的链接应该有所帮助。

Gratuitous live example | source

关于javascript - 用一位小数验证jquery中的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049835/

相关文章:

javascript - 单击按钮来回更改文本

javascript - 使用对象列表中的循环将数据附加到组件

javascript - 单击复选框然后使用 jquery 删除验证

javascript - 验证显示:none dropdown

javascript - JavaScript 中的函数如何被视为变量?

javascript - JavaScript 将日期时间四舍五入到最后 10 分钟

laravel - 如何根据表单请求创建唯一验证(更新/补丁)的条件

arrays - Laravel 5 数组验证

javascript - ng-model 在 Angular Bootstrap ui 中不起作用

jQuery 选项卡 - 直接链接到选项卡