Проверка десятичных чисел

У меня есть форма, и я использую плагин проверки jQuery для ее проверки. Теперь я пытаюсь проверить ввод десятичных чисел.

Я пробовал следующий код, но он не работает. Является ли проблема с регулярным выражением или способом написания пользовательского правила неправильной в моем коде?

 rules: {
      paid_amount: {
              required:true,
                      rexp: ^[1-9]\d*(\.\d+)?$
      },

   }
     },

 messages: {
             paid_amount: {
                      required: "Enter Paid Amount",
              rexp:"Decimal Numbers Only"
    },  

     }
});

Ответ 1

Вы можете использовать метод проверки числа здесь

Из документов:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      number: true
    }
  }
});

В вашем случае:

rules: {
    paid_amount: {
        required:true,
        number: true
    }
},
messages: {
    paid_amount: {
        required: "Enter Paid Amount",
        number: "Decimal Numbers Only"
    }
}

Ответ 2

Я не знаком с плагиатором jquery validator, извините, но ваше регулярное выражение действительно.

другой подход будет

var reg = "/^[1-9]\d*(\.\d+)?$/"; //reg pattern<br/>
if(reg.test("1.23"))//validate
{
 //do something <br/>
}

Ответ 3

jQuery validator также поддерживает десятичную проверку с использованием метода диапазона.

factor:
      {
        required: true,
        range:[0.08,20.09]  
      },

Подробнее здесь и демо здесь.

Ответ 5

Ваша проблема связана с методом 'rexg'. Вы должны использовать 'pattern'. Пример:

paid_amount: {
     required:true,
     pattern: ^[1-9]\d*(\.\d+)?$
}