我正在使用这段代码来检查插入符号是否位于文本区域内的空行上。它运行良好但有一个缺陷:如果你以一些文本开始一行并以空格结束它,代码会认为该行是空的;这不是真的。由于自动换行,我不关心行。
这是一个 fiddle :http://jsfiddle.net/jZN5w/
$('#area').on("keyup change focus", function() {
if( this.value.substr(0,this.selectionStart).match(/(?:^|\s+)$/)
&& this.value.substr(this.selectionStart).match(/^(?:\s+|$)/)) {
console.log("empty");
} else {
console.log("has stuff");
}
});
这将记录“有东西”
上面的行将记录为空,而这行将记录“有东西”如果我以空格结尾,这将记录为空
最佳答案
您的正则表达式不查找空行,而是查找空格。
$('#area').on("keyup change focus", function() {
if( this.value.substr(0,this.selectionStart).match(/(?:^|\n|\r)\s*$/)
&& this.value.substr(this.selectionStart).match(/^\s*(?:\n|\r|$)/)) {
console.log("empty");
} else {
console.log("has stuff");
}
});
关于javascript - 找出文本区域中的行是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20985880/