Вот несколько более общий ответ.
1.Определите допустимые символы
Добавьте нужные символы в квадратных скобках [ ]
.(Вы можете добавить диапазон символов, используя -
тире.):
// alphanumeric
static final validCharacters = RegExp(r'^[a-zA-Z0-9]+$');
Приведенное выше регулярное выражение соответствует прописным и строчным буквам и цифрам.Если вам нужны другие персонажи, вы можете добавить их.Например, следующее регулярное выражение также соответствует &
, %
и =
.
// alphanumeric and &%=
static final validCharacters = RegExp(r'^[a-zA-Z0-9&%=]+$');
Экранирующие символы
Некоторые символы имеют специальное значение в регулярном выражении и должны бытьс обратной косой чертой \
:
(
, )
, [
, ]
, {
, }
, *
, +
, ?
, .
, ^
, $
, |
и \
.
Так что, если ваши требования состоят из буквенно-цифровых символов и _-=@,.;
, тогда регулярное выражение будет:
// alphanumeric and _-=@,.;
static final validCharacters = RegExp(r'^[a-zA-Z0-9_\-=@,\.;]+$');
-
и .
сбежали.
2.Проверьте строку
validCharacters.hasMatch('abc123'); // true
validCharacters.hasMatch('abc 123'); // false (spaces not allowed)
Попробуйте сами в DartPad
void main() {
final validCharacters = RegExp(r'^[a-zA-Z0-9_\-=@,\.;]+$');
print(validCharacters.hasMatch('abc123'));
}