[英]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.