У меня есть текстовая область, которая заполняется различными способами, включая вставку, ввод с клавиатуры, автозаполнение и т. Д.
Теперь я хочу проверить эту текстовую область и, если она содержит какую-либо комбинацию, включая кратные числа некоторых символов, и, если это так, установить для нее пустое значение.
Символы, которые я хочу отфильтровать: символы табуляции, новые строки, пробелы, возврат каретки, а также некоторый текст водяного знака - в основном любой не значащий символ.
Обратите внимание, что допустимый текст может содержать специальные символы, такие как ()! #% <>,;: / || {} [] и, возможно, еще несколько.
Допустимые значения могут содержать новые строки, пробелы и т. Д., Но также могут содержать другие допустимые символы (цифры выше плюс 0-9, a-z, A-Z и т. Д.)
В настоящее время у меня есть следующее завершение в событие JQuery .change:
<textarea cols="70" rows="3" class="cssTextarea cptEntryArea formFocus"></textarea>
$('.cptEntryArea').live('change', function(e)
{
var myval = "";
myval = $(this).val().trim();
myval.replace(/\r\n|\r|\n|\u0085|\u000C|\u2028|\u2029|^\s*$|^\s+|\s+$/g, "");
if ((myval == watermarkText) || (myval.length == 0))
{
$(this).val("");
e.stopPropagation();
return false;
};
});
Идея состоит в том, чтобы просто очистить его, если в нем есть «невизуальные» символы в любой комбинации.
Любая оптимизация или лучший способ сделать это?
РЕДАКТИРОВАТЬ1: Похоже, что я могу сделать некоторые настройки здесь, как JQuery обрезка:
trim: function( text ) {
return (text || "").replace( /^\s+|\s+$/g, "" );
}