Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.03.2018
Сообщений: 3

Формы и регулярные выражения (проверка правильности введенного кода товара)

05.03.2018, 16:28. Показов 2649. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, я студент, и на данный момент учусь на web-дизайнера, скажу честно в программировании на PHP я зеленый, и задания по данному языку проглатываю без масла (тяжело дается), я знаю что время поможет (опыт в работе над кодом), но все же попрошу Вашу помощь. Смысл задания связан с регулярными выражениями. Нужно написать скрипт который может получать через HTML форму какую-то строку, сам скрипт проверяет является ли введенная строка - кодом товара. Код товара это три допустимых формата:
1. Три английские буквы в верхнем регистре, пробел или знак "минус", три цифры (например: ABC-765, DEF 999);
2. Пять цифр и три английские буквы, из которых как минимум одна – заглавная (например: 12345aBc, 87654DEF, 12312xYZ);
3. Последовательность «английская буква, цифра» длиной от 3 до 5 повторений (например: A2B5C7, F7h6J7K4, P9s5y8o5S9);
Далее скрипт отображает повторно форму с сохранением введённого значения и надписью над формой "Код верен" или "Код не верен", в зависимости от того является ли введенная строка верным кодом товара или нет.
Огромнейшее спасибо Вам кто откликнется.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2018, 16:28
Ответы с готовыми решениями:

Проверка кода товара на валидность
мне нужно из ссылки выбирать код товара, вот пример ссылки ...

Регулярные выражения: проверка правильности введенного телефонного номера
Здравствуйте уважаемые форумчане. Подскажите пожалуйста как решить эту задачу: Дан текст, который по идее должен быть номером телефона...

Проверка правильности введенного фио
Дан один текстбокс и одна кнопка. Как сделать возможность когда хотя бы при одном верном варианте правильно? То есть допустим...

7
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
05.03.2018, 17:14
Лучший ответ Сообщение было отмечено Gora Nester как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?PHP 
if($_POST['s']) {//s
    
    if($_POST['t']) {//t
    
    $t = $_POST['t'];
    
    if(!preg_match("/^[A-Z]{3}\-[0-9]{3}+$/",$t)) {//p
    
    
    $true  = "Код не выполнен";
 
    }//p
    
        else {$true  = "Код выполнен";}
    
    }//t
    
}//s
 
?>
HTML5
1
2
3
4
5
6
7
8
9
10
<form action='' method='POST'>
 
 
 
 
<?PHP if($true) {echo $true;}?>
<input type='text' name='t' value='<?PHP if($t) {echo $t;}?>'>
<input type='submit' name='s'>
 
</form>
вот первое - дальше лень что то думать))
1
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
06.03.2018, 02:01
Лучший ответ Сообщение было отмечено Gora Nester как решение

Решение

PHP
1
2
3
4
5
6
7
8
$re = '/
^
(?: [A-Z]{3}[- ]\d{3}           # Три английские буквы в верхнем регистре, пробел или знак "минус", три цифры (например: ABC-765, DEF 999)
  | \d{5}(?=.*[A-Z])[a-zA-Z]{3} # Пять цифр и три английские буквы, из которых как минимум одна – заглавная (например: 12345aBc, 87654DEF, 12312xYZ);
  | ([a-zA-Z]\d){3,5}           # Последовательность «английская буква, цифра» длиной от 3 до 5 повторений (например: A2B5C7, F7h6J7K4, P9s5y8o5S9);
)
$
/x';
1
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
06.03.2018, 14:14
Emilien
кстати хотел спросить

$a = "/([0-9])([0-9])([0-9])/";


$a = "/[0-9][0-9][0-9]/";

чем отличаются эти две записи?

тоесть скобки для чего используются , ну то что от них можно получить переменную $1 $2 и тд. я знаю а еще для чего?
0
0 / 0 / 0
Регистрация: 05.03.2018
Сообщений: 3
06.03.2018, 17:35  [ТС]
Низкий Вам поклон программисты, это то что нужно!
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
06.03.2018, 21:38
Цитата Сообщение от andyyy Посмотреть сообщение
Emilien
кстати хотел спросить

$a = "/([0-9])([0-9])([0-9])/";


$a = "/[0-9][0-9][0-9]/";

чем отличаются эти две записи?

тоесть скобки для чего используются , ну то что от них можно получить переменную $1 $2 и тд. я знаю а еще для чего?
В данном случае разница только в сохранении текста в переменные $1 $2 $3.

Применение круглых скобок это: группировка символов для применения квантификаторов * + ?
и ограничение области действия в конструкции выбора |
(?:Satur|Sun)day
http://php.net/manual/ru/regex... tterns.php
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
07.03.2018, 07:03
Цитата Сообщение от Emilien Посмотреть сообщение
рименение круглых скобок это: группировка символов для применения квантификаторов * + ?
а есл как то так
PHP
1
$a = "/((([0-9]+)([0-9]+)([0-9]+)+)(([0-9]+)([0-9]+)([0-9]+)+)+)/";
так сработает)?
0
07.03.2018, 08:03

Не по теме:

Цитата Сообщение от andyyy Посмотреть сообщение
((([0-9]+)([0-9]+)([0-9]+)+)(([0-9]+)([0-9]+)([0-9]+)+)+)
жесть

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2018, 08:03
Помогаю со студенческими работами здесь

Проверка правильности введенного пароля
Как написать программу, которая будет проверять верность введенного пароля. Известно что в пароле используются числа и латинские буквы!

Ввод и проверка правильности введенного пароля
Код не мой взят из учебника. #include &lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;cstring&gt; using std::cout;using std::endl;using...

Проверка правильности введенного текста на отсутствие цифр и знаков препинания
Напишите программу с использованием регулярных выражений, выполняющую проверку правильности введенного текста на отсутствие цифр и знаков...

Проверка правильности введенного текста на отсутствие цифр и знаков препинания
Напишите программу с использованием регулярных выражений, выполняющую проверку правильности введенного текста на отсутствие цифр и знаков...

Регулярные выражения для проверки введенного адреса проживания пользователя
Здравствуйте друзья! Делаю проверку на правильность вводимых данных пользователем при регистрации на сайте. Так вот встала задача. Какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru