[英]How to print out the quantity of numbers in a textarea?
大家好,學校作業的一部分是在我的文本區域中打印數字的.length
。 換句話說,如果文本區域中有字符串,則僅應計算數字。
HTML:
<form>
<p class="ptags">Kommentar:</p>
<textarea id="kommentar" rows="5"></textarea>
<p>Kommentar Ziffern</p>
<p id="ikomm"></p>
</form>
使用Javascript:
/*Anzahl Ziffern in der Kommentarbox*/
function zkommentar(){
var zkomm = document.getElementById('kommentar').value.length;
var numbers = zkomm.match(/\d+/g).map(Number);
var string = parseInt(numbers);
document.getElementById('ikomm').innerHTML = numbers;
}
/*Ausgabe*/
function Ausgabe() {
{
document.getElementById('Ausgabe').innerHTML =
namelength();
kommentar();
uhrzeit();
datum();
bdata();
quadrat();
quersumme();
zkommentar();
}
};
您在這里混淆了很多事情。
首先,您應該只存儲#kommentar
的value
,而不是長度。
然后,在應用RegEx之后,文本區域中的numbers
量將為numbers
變量的length
:
function zkommentar() { var zkomm = document.getElementById('kommentar').value; var numbers = zkomm.match(/\\d/g).map(Number); var string = numbers.length; document.getElementById('ikomm').innerHTML = string; }
<form> <p class="ptags">Kommentar:</p> <textarea id="kommentar" rows="5"></textarea> <p>Kommentar Ziffern</p> <p id="ikomm"></p> </form> <button onclick="zkommentar();">Test</button>
要獲取數字的長度,可以對正則表達式使用\\d
,它會匹配所有數字,而不是\\d+
來匹配一個或多個數字。
Match可以返回null
,因此您首先應該檢查它:
var zkomm = document.getElementById('kommentar').value;
var numbers = zkomm.match(/\d/g)
if (numbers) {
numbers = numbers.map(Number);
var string = numbers.length;
document.getElementById('ikomm').innerHTML = string;
}
先前的答案不在乎實數
例如“ 1s”不是數字
function zkommentar() { var zkomm = document.getElementById('kommentar').value; var numbers = zkomm.split(' ').filter(_isNumber); var string = numbers.length; document.getElementById('ikomm').innerHTML = string; } function _isNumber(value) { return Number.isFinite(+value) ? value : null; }
<form> <p class="ptags">Kommentar:</p> <textarea id="kommentar" rows="5"></textarea> <p>Kommentar Ziffern</p> <p id="ikomm"></p> </form> <button onclick="zkommentar();">Test</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.