[英]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.