我正在嘗試將網頁上的電話號碼轉換為整數值,但它反復回傳 NaN,盡管它是一個數字。這是 chrome 擴展的一部分。我的代碼如下:
currNum = String(document.getElementsByClassName("number")[0].innerHTML).trim()
console.log("First: " currNum)
currNum = currNum.replace("(","").replace(")","").replace("-","").replace(" ","")
console.log("Second: " currNum)
currNum = parseInt(currNum)
console.log("Third: " currNum)
記錄的輸出是:
?First: ?(206) 000-0000
Second: ?2060000000
Third: ?NaN
這個數字有什么不能轉換為int的嗎?
謝謝
uj5u.com熱心網友回復:
使用正則運算式(即/[()\s-]/g)?作為第一個引數,.replace()而不是" "空格,使用\s它將匹配所有型別的空格(包括202A,Pointy 提到)。另外,替換.innerHTML為.textContent.
?注意: /[()\s-]/g將匹配每個(, ), -, 和空格。將-放在運算式的末尾,否則可能會被誤解為一個范圍。
let currNum = String(document.querySelector(".number").textContent).trim()
console.log("First: " currNum)
currNum = currNum.replace(/[()\s-]/g,"");
console.log("Second: " currNum)
currNum = parseInt(currNum)
console.log("Third: " currNum)
<address>
<p class='number'>(206) 555-0000</p>
</address>
uj5u.com熱心網友回復:
也許 . 開頭有一個空格字符或其他東西currNum。我建議檢查這篇文章。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
uj5u.com熱心網友回復:
currNum = currNum.replace(/[\s()-]/g, '')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435676.html
標籤:javascript 细绳 铸件 内部html
