簡體   English   中英

如何使用Javascript檢測文本區域中的新空行?

[英]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中也是如此

這是演示http://jsfiddle.net/TUCx8/

根據問題的第一句話,這可能是可能的解決方案之一:

var enters = 0;
$('textarea').keypress(function(event) {
    if (event.which == 13)
        enters++;
    else
        enters = 0;
    if (enters > 1) {
        alert('You hit 2 new lines!');
    }
});

現場示例http://jsfiddle.net/fp6xk/

另一種解決方案是在文本結尾之前檢查一個空行:

(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM