Проблема выражения Regex - PullRequest
       7

Проблема выражения Regex

0 голосов
/ 03 декабря 2009

У меня есть следующее регулярное выражение

/[^a-zA-Z0-9 ]/g

Я хочу включить " в следующий фрагмент кода

onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"]/g,'')

Я использовал приведенное выше регулярное выражение

Проблема, с которой я здесь сталкиваюсь, заключается в том, что приведенное выше регулярное выражение позволяет мне включать в него другие специальные символы (&, * и т. Д.). Как мне этого избежать ???

Ответы [ 2 ]

2 голосов
/ 03 декабря 2009

Просто поместите символы в класс символов, учитывая правильную кодировку:

onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"&*]/g,'')"

Здесь вам необходимо кодировать " и & с помощью символьных ссылок " и &, поскольку вы описываете значение объявления значения атрибута HTML.

1 голос
/ 03 декабря 2009

Одна из первых очевидных проблем с кодом заключается в том, что ", который является частью регулярного выражения, не экранирован, несмотря на то, что он находится внутри строкового литерала с ограничением ". Вы можете попробовать изменить его на:

onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9\" ]/g,'')

...