2012-02-16 2 views
0

Я продолжаю этот вопрос. Он помогает и работает. regex for special character .My шаблон регулярного выражения:
regex для filename

var characterReg = /^\s*[a-zA-Z0-9,\s]+\s*$/; 

он принимает a-zA-z0-9 only.But я хочу регулярные выражения, которые также поддерживают подчеркивание (_) и дас (-) Я не может изменить регулярное выражение, потому что он находится вне. мой разум. Некоторые говорят о правильной модели моей ситуации.

+1

Это не связано с JQuery вообще :) ' -zA-z0-9' и ',' и пробел. ', которые также поддерживают подчеркивание (_) и das (-)' try '/^\ s * [az -_ \ d, \ s] + \ s * $/i' – Cheery

+0

[regexpal] (http: // regexpal. com /) - довольно хороший инструмент для использования при любой записи/тестировании регулярных выражений. просто fyi. приветствует – CyrillC

ответ

1

var characterReg = /^\s*[a-zA-Z0-9_,\s-]+\s*$/;
- является специальным символом и средство диапазона, если вы напишете его между двумя гольцами. Таким образом, вы можете избежать этого (\\-) или просто положить в конец [].
На самом деле вы можете написать \\w вместо a-zA-Z0-9_. \\w - символ слова (буквы, цифры и символы подчеркивания).
А также \s* в конце концов, не является необходимым, потому что есть пробелы в ваших квадратных скобок и [\\w,\s-]+ будет соответствовать этому foo bar-123 полностью
Я думаю, что это лучше: var characterReg = /^\s*[\\w,\s-]+$/;

+0

'Так что вы можете избежать этого', это не имеет значения. http://jsfiddle.net/4wRKY/ – Cheery