【发布时间】:2012-06-12 14:42:32
【问题描述】:
检查文本区域值是否存在换行符然后计算出现次数(如果有)的最佳方法是什么?
我的网页上的表单上有一个文本区域。我正在使用 JavaScript 来获取文本区域的值,然后检查它的长度。
示例
enteredText = textareaVariableName.val();
characterCount = enteredText.length; // One line break entered returns 1
如果用户在文本区域输入换行符,我上面的计算将换行符的长度设为 1。但是我需要将换行符的长度设为 2。因此我需要检查换行符和换行符的数量出现次数,然后将其添加到总长度中。
我想要实现的示例
enteredText = textareaVariableName.val();
characterCount = enteredText.length + numberOfLineBreaks;
在问这个问题之前我的解决方案如下:
enteredText = textareaVariableName.val();
enteredTextEncoded = escape(enteredText);
linebreaks = enteredTextEncoded.match(/%0A/g);
(linebreaks != null) ? numberOfLineBreaks = linebreaks.length : numberOfLineBreaks = 0;
我可以看到对文本进行编码和检查%0A 有点冗长,所以我寻求了一些更好的解决方案。谢谢大家的建议。
【问题讨论】:
-
@Dave Haigh,
Edit是有原因的,不要使用answer部分添加更多详细信息:) -
@Jashwant 这不是额外的细节,而是对我的问题的回答......所以我相信我把它放在了正确的位置。
-
如果我没记错的话,“通常”只有当您想标记为答案或稍后发现答案时,您的解决方案才应放在答案部分。如果您将有问题的尝试包括在内,这将有助于其他人调查您的尝试。在答案部分找到你的尝试比在你的问题中找到它要困难一点:)
-
@Jashwant 可能会回答不是尝试,因为它确实有效。我故意将其排除在外,因为我不想影响任何其他答案。我的问题是“如何”而不是“有更好的方法”。问一个你也已经有了可行答案的问题并没有错,事实上,“通常”鼓励这样做。
-
我没有脾气,我只是不同意你的观点。
标签: javascript jquery special-characters line-breaks