javascript - javascript验证带空格的长度
问题描述
我有一个计算文本区域中字符长度的功能,如下所示: JSP 代码:
<textarea class="textAreaLarge" id="citation" rows="20" cols="180" name="citation" maxlength="<%=maxCitationLength%>" onKeyUp="toCount(<%=maxCitationLength%>);"><%=citation%></textarea>
<strong><div id="sBann" class="minitext"></div></strong>
JS是
function toCount(){
document.getElementById('citation').onkeyup = function () {
document.getElementById('sBann').innerHTML = (characters - this.value.length) + " characters left.";
};
}
例如,这是忽略引号的文本区域的内容。总共 10 个字符,不包括引号。
"test
1111"
javascript正确地做到了。说 MaxLength 是 1500 它说“还剩 1490 个字符”。
当在 java 端再次进行相同的验证时,这就是代码的作用。
int maxCitationLength = utility.getMaxCitationLength(rec);
String txtCitation = myUtil.checkNull(citationForm.getValue("citation"));
if (txtCitation.length() > maxCitationLength) {
request.setAttribute("error",
"The Citation field cannot be larger than " + maxCitationLength +
" characters.");
}
这两个条件之间总是存在差异。例如,我在文本区域输入了 1500 个字符,包括空格,表格显示还剩 0 个字符,不允许我输入更多。但是当我提交 servlet 时再次进行验证并收到错误消息说字段不能大于 1500 个字符。常量值是相同的 1500。但是我猜空间在 java 和 javascript 中的计算方式不同。做这个的最好方式是什么?请问有什么建议吗?
解决方案
推荐阅读
- python - PostgreSQL 从 JSON 列返回一个 JSON,其中只有键在 python 列表中的键/值
- windows - 防止 PowerShell 自动将我的 Windows 用户名传递给“ssh”
- jquery - 基于新更新的数组jQuery显示的更新时间表
- c# - API Skype 在 2021 年支持 C# mvc5(不是 Skype for business)
- cpu-architecture - 究竟什么是机器指令?
- multithreading - OpenCV 线程捕获失去与 IP 摄像机的连接
- excel - 获取求和数的所有组合
- pine-script - Pine Editor 回测不适用于较低的时间框架图表
- pandas - 重复将多个 Panda 数据集导出到多个 csv 文件的任务
- graphics - 获取给定设备上统一缓冲区的偏移对齐