Я хочу автоматически вырезать строку из текстового поля до 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);
}
длина строки действия всегда больше 255 символов, так как новая строка изменяется на "\r\n"
Как я могу удалить этот дополнительный \r из самого jQuery?
Вы не можете удалить что-то, чего там нет, но что вы можете сделать, это добавить его, прежде чем проверять длину...
$('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);
}
//...
}
Если вы обнаружите, что даже при определенном "\r\n"
java все еще заменяет "\n"
, то есть он становится "\r\r\n"
тогда вы можете просто удалить "\r"
снова после проверки и подстрока...
if(text.length >= 255){
a = text.substring(0, 254);
a = a.replace(/\r/g, "");
$(this).val(a);
}
\r
на Java-стороне вещей ... или вы можете просто разрешить больше символов, если это действительно так много значит