Я пытаюсь разрешить ТОЛЬКО буквы и пробелы.Regex, чтобы поймать ЛЮБОЙ небук, не номер, не пробел
нет _. ! ~ `
и любые другие специальные символы (я знаю, что _ должно быть письмо .. я просто не хотим его)
моего вопроса: как я должен написать это?
главным образом ив нашел ответившим, что указанные символы, которые являются «незаконными», как:
^[^$&+,:;[email protected]}{#|'\\<>\/.^*()%!\]\[~`_-]+[^$&+,:;[email protected]}{#|'\\<>\/.^*()%!\]\[~`_-]*$
но мне было интересно, если Theres лучший способ сделать это нравится:
^[a-zA-Z0-9\s]+[a-zA-z0-9\s]*$
проблема с это то, что если символы []^``_\
после буквы/цифры/пробела все еще проходят через
[]`\^_ <<this will be illegal
1[]`\^_ <<this will not be caught as illegal
Я также попытался: ^[\w\d\s]+[\w\d\s]*$
но позволяет _ пройти через
редактировать я имел опечатку во втором коде (Az), поэтому изменил его
^[a-zA-Z0-9\s]+[a-zA-Z0-9\s]*$
и она прекрасно работает
так лучше писать, как это, вместо того, чтобы набирать everysingle специальный chatacter (как первый код)? Возможны ли символы, которые могут проскальзывать по этой проверке?
Является ли 'A-z' опечаткой в вашем втором шаблоне или на самом деле там? Это может быть причина, по которой это не работает. –
Посмотрите на определение '\ w', затем перепишите его расширение без подчеркивания –
@SebastianProske it ** is ** причина –