JavaScript'te ondalık sayıları doğrulama - IsNumeric()
JavaScript'te ondalık sayıları doğrulamanın en temiz, en etkili yolu nedir?
Bonus puan:
- Netlik. Çözüm temiz ve basit olmalıdır.
- Çapraz platform.
Test senaryoları:
01. IsNumeric('-1') => true
02. IsNumeric('-1.5') => true
03. IsNumeric('0') => true
04. IsNumeric('0.42') => true
05. IsNumeric('.42') => true
06. IsNumeric('99,999') => false
07. IsNumeric('0x89f') => false
08. IsNumeric('#abcdef') => false
09. IsNumeric('1.2.3') => false
10. IsNumeric('') => false
11. IsNumeric('blah') => false
2316
3
Bu yol iyi çalışıyor gibi görünüyor:
Ve test etmek için:
Bu regex'i http://www.codetoad.com/javascript/isnumeric.asp adresinden ödünç aldım. Açıklama:
Şunları da eklemek isterim:
Pozitif hex sayıları
0x
ile başlar ve negatif hex sayıları-0x
ile başlar. Pozitif okt sayıları0
ile başlar ve negatif okt sayıları-0
ile başlar. Bu, daha önce bahsedilenlerin çoğunu dikkate alır, ancak onaltılık ve sekizlik sayıları, negatif bilimsel, Sonsuzluğu içerir ve ondalık bilimselliği kaldırmıştır (4e3.2
geçerli değildir).Eklemek istediğim birkaç test var:
Bunu buldum:
Çözüm şunları kapsar: