簡體   English   中英

檢查文本是否只是十進制數字?

[英]Checking text is only decimal numbers or not?

有沒有最有效的方法來驗證 JavaScript 中的十進制數?

例如像下面這樣:

01. IsDec('-7.7')      => true
02. IsDec('-18')    => true
03. IsDec('0')       => true
04. IsDec('.845')    => true
05. IsDec('0.957')     => true
06. IsDec('0x45f')  => false
07. IsDec('15,87')   => false
08. IsDec('#text') => false
09. IsDec('75.95.69')   => false
10. IsDec('')        => false
11. IsDec('someText')    => false

試試這樣:

 console.log(isDec("-12.5")); console.log(isDec("12.5")); console.log(isDec("0")); console.log(isDec(".45")); console.log(isDec("1,5")); console.log(isDec("#ssdr")); function isDec(txt) { return !isNaN(parseFloat(txt)) && isFinite(txt); }

這是一個用於檢查的正則表達式。

/^-?\d*\.?\d*(?<!^\.?)$/

 console.log('--- true cases ---'); console.log(isDec('-7.7')); console.log(isDec('-18')); console.log(isDec('0')); console.log(isDec('.845')); console.log(isDec('0.957')); console.log(isDec('16.')); console.log('--- false cases ---'); console.log(isDec('0x45f')); console.log(isDec('15,87')); console.log(isDec('#text')); console.log(isDec('75.95.69')); console.log(isDec('')); console.log(isDec('someText')); console.log(isDec('.')); function isDec(txt) { const regex = /^-?\\d*\\.?\\d*(?<!^\\.?)$/; return regex.test(txt); }

這里檢查結果

請嘗試以下功能來檢查十進制數

function isDecimal(n) {
   return !isNaN(parseFloat(n)) && isFinite(n);
}

答:

isDecimal('-7.7')      => true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM