Dav*_*igh 43 javascript jquery line-breaks special-characters
检查换行符的文本区域值然后计算出现次数的最佳方法是什么?
我的网页上的表单上有一个文本区域.我使用JavaScript来获取文本区域的值,然后检查其长度.
enteredText = textareaVariableName.val();
characterCount = enteredText.length; // One line break entered returns 1
Run Code Online (Sandbox Code Playgroud)
如果用户在文本区域中输入换行符,则上面的计算给出换行符的长度为1.但是我需要给换行符长度为2.因此我需要检查换行符和出现次数然后将其添加到总长度上.
enteredText = textareaVariableName.val();
characterCount = enteredText.length + numberOfLineBreaks;
Run Code Online (Sandbox Code Playgroud)
在提出这个问题之前我的解决方案如下:
enteredText = textareaVariableName.val();
enteredTextEncoded = escape(enteredText);
linebreaks = enteredTextEncoded.match(/%0A/g);
(linebreaks != null) ? numberOfLineBreaks = linebreaks.length : numberOfLineBreaks = 0;
Run Code Online (Sandbox Code Playgroud)
我可以看到编码文本和检查%0A有点啰嗦,所以我想要一些更好的解决方案.谢谢你提出的所有建议.
bee*_*bug 66
您可以match在包含换行符的字符串上使用,并且该数组中的元素数量应与换行符的数量相对应.
enteredText = textareaVariableName.val();
numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;
characterCount = enteredText.length + numberOfLineBreaks;
Run Code Online (Sandbox Code Playgroud)
/\n/g是一个正则表达式,意思是'查找字符\n(换行符),并在全局(整个字符串)中执行.
该||[]部分是为了防止没有换行符.匹配将返回null,因此我们测试空数组的长度,以避免错误.
| 归档时间: |
|
| 查看次数: |
75884 次 |
| 最近记录: |