[英]How to detect new empty line in textarea with Javascript?
我想在文本區域中檢測到一個新的空行,如果用戶只是在文本區域中按Enter,而不輸入任何數據以返回false並回顯消息。 我已經對以下內容進行了研究和思考:
var validatef ....
var code = (e.keyCode ? e.keyCode : e.which);
if (validatef == 'a value here' || code == 13) {
somevarhere.textcontent = 'Message';
return false;
}
else {....}
但這似乎不起作用。
您可以通過檢查以下值來檢測文本區域中的空行:
\\r\\n
(對我來說很好用)或\\n
只需在a value here
用\\r\\n
或\\n
替換最適合您的文本a value here
。
編輯:
檢查如何計算字符串中出現的字符串? 計算正則表達式的出現。 因此,您可以進行for
循環以在/\\s/g
上顯示錯誤消息。
希望能幫助到你。
只是測試用戶是否按兩次Enter
/\n\n/.test(this.value)
嘗試這個
$('textarea').on('keypress', function(e) {
var val = $('textarea').val();
if (e.which == 13) {
if(! /\S/.test(val)) {
alert("no data");
}
}
});
這不會警告每次按鍵的數據。
這在jQuery中,但即使在純Javascript中也是如此
根據問題的第一句話,這可能是可能的解決方案之一:
var enters = 0;
$('textarea').keypress(function(event) {
if (event.which == 13)
enters++;
else
enters = 0;
if (enters > 1) {
alert('You hit 2 new lines!');
}
});
另一種解決方案是在文本結尾之前檢查一個空行:
(function(){
$('textarea').keyup(function(event) {
if (/(\r?\n){2}$/.test($(this).val())) {
alert('2 consecutive empty lines at the end!');
}
});
})();
它可以獨立於連續的沖床工作。 http://jsfiddle.net/fp6xk/4/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.