Как вырезать HTML-коды ASCII из строки, используя Javascript - PullRequest
1 голос
/ 24 декабря 2010

У меня есть строка, которую я строю динамически, пока пользователь вводит данные в текстовое поле. Я записываю ввод по мере его ввода и сохраняю его в глобальную переменную следующим образом:

например

var uid = '';

function buildString(e) {  
    var keynum = e.keyCode ? e.keyCode : e.which; 
    uid += String.fromCharCode(keynum);  
}

Я заметил, что строка имеет коды ASCII HTML, добавленные перед каждым введенным символом.

например,

091 [041) 062> 030RS04800546029GS

так

091 = [

041 =)

062 =>

048 = 0

и т. Д.

Я не хочу, чтобы эти коды присутствовали в строке, есть ли регулярное выражение или какой-либо другой метод в Javascript, который будет отбрасывать только коды без удаления действительных, действительных чиселчто было введено?

1 Ответ

0 голосов
/ 24 декабря 2010

Похоже, вы не используете лучшее событие для того, что вы пытаетесь сделать. Ваш код должен в основном работать для события keypress ( пример ), но не будет работать вообще для keyup или keydown.

Но простое прослушивание keypress не позволит вам создать строку из того, какие клавиши были нажаты. Например, используя приведенный выше пример, если я наберу «abcd», а затем дважды стрелку вправо, а затем «xx», строка будет «abcdxx», где в текстовом поле отображается «abxxcd». Так что потребуется больше изощренности.

Здесь будут драконы. Чтобы получить представление о безумии вокруг событий клавиатуры JavaScript, на этом сайте есть отличная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...