我想要自动从文本框中剪切一个最多255个字符的字符串。。所以我的动作只能得到255个字符。
但问题是Javascript将行中断视为一个字符,而Java将其视为两个("\r\n")
。
因此,即使我通过以下代码将文本区域字符串长度限制为255个字符
$('textarea[name*="matterData.customFields"]').each(function () {
if($(this).val().length>=255){
a=$(this).val().substring(0, 254);
$(this).val(a);
}
在我的操作中,当新行改为"\r\n"
时,字符串长度总是大于255个字符。
如何从jQuery本身中删除这个额外的\r?
发布于 2014-01-21 09:24:20
你不能删除不存在的东西,但是你可以做的是在检查长度之前添加它.
$('textarea[name*="matterData.customFields"]').each(function () {
var text = $(this).val();
text = text.replace(/\n/g, "\r\n");
if(text.length >= 255){
a = text.substring(0, 254);
$(this).val(a);
}
//...
}
如果您发现即使使用java仍然在替换"\r\n"
的特定"\n"
,即它变成了"\r\r\n"
,那么您可以在检查和子字符串之后再次删除"\r"
.
if(text.length >= 255){
a = text.substring(0, 254);
a = a.replace(/\r/g, "");
$(this).val(a);
}
https://stackoverflow.com/questions/21253808
复制相似问题