0 / 0 / 0
Регистрация: 05.03.2018
Сообщений: 3
1

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

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

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

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

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

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

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

7
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
05.03.2018, 17:14 2
Лучший ответ Сообщение было отмечено 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
1049 / 654 / 393
Регистрация: 07.11.2015
Сообщений: 1,048
06.03.2018, 02:01 3
Лучший ответ Сообщение было отмечено 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 4
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  [ТС] 5
Низкий Вам поклон программисты, это то что нужно!
0
1049 / 654 / 393
Регистрация: 07.11.2015
Сообщений: 1,048
06.03.2018, 21:38 6
Цитата Сообщение от 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 7
Цитата Сообщение от Emilien Посмотреть сообщение
рименение круглых скобок это: группировка символов для применения квантификаторов * + ?
а есл как то так
PHP
1
$a = "/((([0-9]+)([0-9]+)([0-9]+)+)(([0-9]+)([0-9]+)([0-9]+)+)+)/";
так сработает)?
0
otto-fukin
07.03.2018, 08:03     Формы и регулярные выражения (проверка правильности введенного кода товара)
  #8

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2018, 08:03

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru