2010-12-05 3 views
0

Для проверки текста для символов я использую как [a-zA-z] и для чисел вроде [0-9] ..если мне нужно добавить специальные символы. Я добавляю косую черту, как [a-zA-z/-/].Проверка Javascript

Включая много символов, которые его затрудняют, и мой javascript становится чрезвычайно большим. Есть ли простой способ сделать это?

С уважением A.Collins

+3

Заметим, что `[Az]` эквивалентно `[ AZ [\\\\]^_ \ `az]`, поэтому он содержит не только `A`-`Z`, но также` a`-`z` и символы `` `` `` `` `` `` ` `,`^`,` _` и `\` `, которые находятся между` Z` и `a`. – Gumbo 2010-12-05 10:52:19

ответ

1

Вы можете посмотреть this чит-лист. например, [0-9] можно уменьшить до \d.

0

В общем случае «много символов» - нет.

0

Это неправильный способ избежать символов. \ правильный экранирующий символ для использования:

[a-zA-Z\/] 

Вы можете использовать классы символов, [a-zA-Z0-9] можно заменить [\w]. Единственными символами, которые должны быть экранированы, являются \ и -. ^ также должен быть экранирован, когда это первый символ в классе символов.

+0

Он добавляет косую черту в класс персонажа, а не дефис. – Gareth 2010-12-05 10:51:38

+0

Исправлено, спасибо. – Lekensteyn 2010-12-05 10:57:45

0
  • \w для буквенно-цифровых и подчеркивает
  • \d для цифр
  • \s для пробельных

Вы можете смешать их, в результате чего таких вещей, как, например, [\d.] (для сопоставления чисел & точек) ,

0

В символьном классе x-y означает «все символы между x и y». Если есть только один дополнительный символ, в вашем случае / то вам не нужно использовать формат x-y, вы можете просто падение персонажа в:

[a-zA-z/] 
Смежные вопросы