Próbuję sprawdzić poprawność ciągu, który powinien zawierać tylko litery i znaki specjalne &-._
. Do tego próbowałem z wyrażeniem regularnym.Dopasowywanie znaków specjalnych i liter w regex
var pattern = /[a-zA-Z0-9&_\.-]/
var qry = 'abc&*';
if(qry.match(pattern)) {
alert('valid');
}
else{
alert('invalid');
}
Podczas korzystania z powyższego kodu obowiązuje ciąg abc&*
. Ale moim wymaganiem jest pokazanie tego nieważnego. Oznacza to, że gdy pojawia się znak inny niż litera, liczba lub znaki specjalne &-._
, ciąg powinien zostać uznany za nieważny. Jak mogę to zrobić za pomocą wyrażenia regularnego?
Kluczem jest użycie '^' na początku i '+' $ na końcu, jako odpowiedzi poniżej wyjaśniłem. '/^[a-zA-Z0-9 & _ \ .-] + $ /'. Wskazuję to na wypadek, gdybyś przegapił tę subtelną różnicę. –