2015-11-08 7 views
0

Я пытаюсь создать класс, который проверяет параметры, переданные в функцию, но только примитивные значения. Я до сих пор делал целое число, логическое и float. Однако с моей строковой функцией я также хочу иметь возможность передавать параметры разрешенных наборов символов. как:PHP, как проверить прописные/строчные буквы/цифры/специальные в regex

  • разрешены верхний регистр
  • Допускается нижний регистр
  • Разрешенные номера
  • разрешены специальные символы

Однако, я не могу понять, как это проверить. Я пробовал делать это с регулярным выражением, но мои лучшие испытания не работают слишком хорошо.

Любой толчок в правильном направлении был бы большой помощью.

Пожалуйста, обратите внимание, что я использую старую версию для PHP - 5.1.2

+1

любые попытки .. –

+0

Sorry?. Да, конечно. Я использовал умножение простых чисел вместе для использования нескольких тегов, а затем используя функцию по модулю внутри, чтобы определить данный флаг. Я внедрил весь код минимального/максимального размера. В следующий раз я опубликую то, что я пытался. – JoshuaaM

+0

@AlanMoore Это не дубликат связанного вопроса. Это не имеет никакого отношения к силе пароля. OP хочет проверить, если строка состоит из определенных (разрешенных) символов, как я понял вопрос. –

ответ

3

Зависит от того, что события. Можете попробовать это и использовать с preg_match.

preg_match('/^[[:alnum:][:punct:]]+$/', $str) 

ЗАКАНЧИВАТЬ demo at regex101

  • [:alnum:] матчи [a-zA-Z0-9]
  • [:punct:] матчи [!"#$%&'()*+,\-./:;<=>[email protected][\\\]^_{|}~] кавычкой.
  • + одна руда больше от ^ начала до конца $

See more posix classes

+0

Отлично, я скоро попробую это, когда я вернусь к компьютеру. Я буду отмечать это как сейчас, спасибо! – JoshuaaM

+0

Добро пожаловать @JoshuaaM –

-1

Попробуйте это:

if(!preg_match('/[.\s]/', $string)) 
{ 
    // it contains any single character except dot and white space 
    // you can change not permitted list on your demand 
} 
+0

Спасибо. Мне нравится, я добавлю это как аромат в мою финальную строку регулярных выражений, спасибо. – JoshuaaM

+0

Без проблем, @JoshuaaM –

Смежные вопросы