簡體   English   中英

Javascript 檢查字符串是否為有效數字

[英]Javascript check if an string is a valid number

檢查字符串是否為 javascript 中的有效數字的正確方法是什么?

通常我們使用isNaN(str) ,這在所有情況下都很好用,但除外,

當前行為:

isNaN("1") = false, is a number,
isNaN("1 ") = false, But this is a string.

處理這個問題的正確方法是什么?

預期成績:

isNotNumber("1") = false
isNotNumber("1 ") = true

這有點奇怪。 我不知道任何本機 JS 解決方案,但您可以執行以下操作:

function isNotNumber(subj: string): boolean {
  const nr = +subj;
  
  return isNaN(nr) || nr.toString().length !== subj.length;
}

測試示例

我相信使用正則表達式可以輕松實現這一點

 const isNotNumber = (value) =>./^\d+$/.test(value) console.log(isNotNumber("1")) // false console.log(isNotNumber(" 1")) // true

暫無
暫無

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

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