За последние 24 часа нас посетили 22758 программистов и 1273 робота. Сейчас ищут 732 программиста ...

Помогите написать регулярное выражение

Тема в разделе "PHP для новичков", создана пользователем blbulyandavbulyan, 18 июн 2018.

  1. blbulyandavbulyan

    blbulyandavbulyan Новичок

    С нами с:
    12 май 2017
    Сообщения:
    16
    Симпатии:
    0
    Вообщем, мне нужно регулярное выражение которое будет проверять строку на допустимые символы.
    Собственно допустимы следующие символы:
    1. Латинские буквы любого регистра,
    2. Нижнее подчёркивание,
    3. Цифры
    У меня уже есть некоторое регулярное выражение (сейчас приведу пример с кодом), но оно почему-то пропускает такие символы:
    1. []
    2. `
    3. \
    Вот сам код:
    PHP:
    1. <!DOCTYPE html>
    2. <html>
    3.     <head>
    4.         <meta charset="UTF-8">
    5.     </head>
    6.     <body>
    7.         <form method="POST">
    8.             <input type="text" name="str" placeholder="Строка для проверки">
    9.             <input type="submit" name="submit" placeholder="Проверить">
    10.         </form>
    11.         <?php
    12.             if(isset($_POST['submit'])){
    13.                 if(preg_match("#^[aA-zZ0-9]+$#",$_POST['str'])){
    14.                     echo "Все верно";
    15.                 } else {
    16.                     echo "Есть недопустимые символы";
    17.                 }
    18.             }
    19.         ?>
    20.     </body>
    21. </html>
    Ну то есть если в форму ввести одни из вышеперечисленных символов, то оно выведет: "Всё верно".
    Версия PHP 7.0.10, версия Apache 2.4.23
     
  2. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    PHP:
    1. "#^[A-Za-z0-9_]+$#"
    PHP:
    1. "#^\w+$#"