簡體   English   中英

如何檢查String是否有數字?

[英]How to check if String has a Number?

我有這個功能:

function hasNumber(word) {
    return /^[A-Za-z]+$/.test(word)
}

console.log(hasNumber('some text'));        //true
console.log(hasNumber('some text2'));       //true

但它總是返回真可以有人解釋我為什么?

function hasNumber( str ){
  return /\d/.test( str );
}

結果:

hasNumber(0)     // true
hasNumber("0")   // true
hasNumber(2)     // true
hasNumber("aba") // false
hasNumber("a2a") // true


一旦函數遇到一個 數字 \\d ,上述內容將立即返回真實狀態
如果您希望能夠返回匹配結果的數組

function hasNumber( str ){
  return str.match( /\d+/g );
}

結果:

hasNumber( "11a2 b3 c" );  // ["11", "2", "3"]
hasNumber( "abc" );        // null
if( hasNumber( "a2" ) )    // "truthy statement"

其中+ in /\\d+/g匹配一個或多個 Numbers(因此上面結果中的“11”)和g Global RegExp標志將繼續迭代直到傳遞的字符串結束。

Advanced_Searching_With_Flags
RegExp.prototype.test()
String.prototype.match()

暫無
暫無

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

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