Как сопоставить шаблоны с регулярными выражениями - PullRequest
2 голосов
/ 24 августа 2010

Я хочу проверить строку, если содержит только a-z, 0-9 и символы. - _ @ а также ; у меня есть этот код:

var regex = new RegExp('[a-z0-9@.;_-]{8,}');

и не далеко от того, что я ищу, но оно возвращает true и для:

'123@123.com °% '

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

    var mailinglist= $('#mailinglist').val();
    var regex = new RegExp('\^[0-9a-z.-_;@]{8,}$\','i');

    if (mailinglist.match(regex)){}
    else{}

Мне нужно, чтобы совпадение возвращало false, если присутствует пробел или любой другой символ, не определенный в шаблоне.

спасибо: -)

Ответы [ 2 ]

7 голосов
/ 24 августа 2010

Добавьте метки начала и конца строки.

var regex = /^[a-z0-9@.;_-]{8,}$/
//           ↑                 ↑

Кроме того, если у вас нет некоторого динамического шаблона, предпочтите литерал регулярного выражения /.../ вместо создания объекта RegExp из строки new RegExp('...').

0 голосов
/ 24 августа 2010

хорошо, нашел здесь на stackoverflow, мне пришлось искать лучше

Как проверить ввод с использованием JavaScript

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