Vairāk
Decimālskaitļu validēšana JavaScript - IsNumeric()
Kāds ir vienkāršākais un efektīvākais veids, kā pārbaudīt decimālciparu skaitļus JavaScript programmā?
Bonusa punkti par:
- Skaidrība. Risinājumam jābūt tīram un vienkāršam.
- Daudzplatformu.
Testēšanas gadījumi:
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
Šķiet, ka šis veids darbojas labi:
Un, lai to pārbaudītu:
Šo regeksusu es aizņēmos no http://www.codetoad.com/javascript/isnumeric.asp. Paskaidrojums:
Es gribētu piebilst sekojošo:
Pozitīvie sešciparu skaitļi sākas ar
0x
, bet negatīvie sešciparu skaitļi sākas ar-0x
. Pozitīvie okt skaitļi sākas ar0
un negatīvie okt skaitļi sākas ar-0
. Šajā gadījumā ņemta vērā lielākā daļa no jau minētā, bet iekļauti sešciparu un astotciparu skaitļi, negatīvie zinātniskie skaitļi, bezgalība un izņemta decimālskaitļa zinātniskā vērtība (4e3.2
nav derīgs).Pāris testu, lai pievienotu:
Es nācu klajā ar šo:
Risinājums aptver: