最近在製作一個功能時需要去取得textarea內字串中的數字金額,以便做必要之後續處理。
在此舉一個例子,做簡單之示範。
瀏覽器:Chrome
HTML如下:
JavaScript如下:
當頁面載入時,確認html已經做初始化,此時呼叫body標籤內的initialize函式
接著,就是利用match method做文字檢索,透過在裡面設定的規則
\d 表示 找尋數字
+ 表示針對該例子至少找出一項符合
如此一來得到的結果為:
在此舉一個例子,做簡單之示範。
瀏覽器:Chrome
HTML如下:
<body onload="initialize()">
<textarea cols="100" rows="10" id="showText">
這次入會總共要繳交會費$2000元及雜費$300元不等
</textarea>
</body>
JavaScript如下:
function initialize(){
showIntFromString(document.getElementById("showText").value);
}
function showIntFromString(text){
var num_g = text.match(/\d+/);
if(num_g != null){
console.log("取出的數字為:"+num_g[0]);
showIntFromString(text.replace(num_g[0], ""));
}else{
return;
}
}
當頁面載入時,確認html已經做初始化,此時呼叫body標籤內的initialize函式
接著,就是利用match method做文字檢索,透過在裡面設定的規則
\d 表示 找尋數字
+ 表示針對該例子至少找出一項符合
如此一來得到的結果為:
另,如果規則設定為 text.match(/\d+/g);
/g 表式設定的Modifiers為global search
那麼一次就可以搜尋出字串中所有符合的數字,不用像上面的例子來做遞迴的搜尋
因此,回傳回來的num_g其length = 2
num_g[0] => 2000
num_g[1] => 300
寫法就更為精簡了!
留言
張貼留言