2016-08-16 2 views
0

У меня есть текстовое поле, как это:Странная проверка номер в jQueryValidate

$("#someForm").validate({ 
    rules: { 
     someNumber: { 
      number: true 
     } 
    } 
}); 

Как и ожидалось, проверка не проходит для входов, как 4,12 или 3,1415.

Однако он проверяет следующие данные: 3,141.

Почему?

ответ

1

Правило number ищет "valid decimal number".

Как и ожидалось, валидация не подходит для входов типа 4,12 или 3,1415.

Однако он проверяет следующий вход 3,141. Зачем?

Поскольку 3,141 представляет "три тысячи, сто сорок один".

Запятая называется «разделитель тысяч» и действует в этом положении ...

В европейских языках, большое количество чтения в группах тысяч и разделителем (что происходит каждые три цифры, когда она используется) может быть назван "разделитель тысяч"

https://en.wikipedia.org/wiki/Decimal_mark#Digit_grouping


Чтобы проигнорировать запятые, период s, знак минус, и ничего, кроме цифр, используйте the digits method вместо ...

Делает элемент требует только цифры

DEMO: jsfiddle.net/hv0pw8ks/

Смежные вопросы