Помощник
|
Помогите с регулярными выражениями |
vitek_gagra
|
Сообщение
#1
|
||
|
|
||
|
|||
Pepper |
17.8.2012, 0:33;
Ответить: Pepper
Сообщение
#2
|
|
|
|
|
oldzas |
17.8.2012, 8:01;
Ответить: oldzas
Сообщение
#3
|
|
Чуть ниже в этой ветке - человек преедлагал бесплатную помощь - напишите ему.
|
|
|
serendipity |
17.8.2012, 14:10;
Ответить: serendipity
Сообщение
#4
|
|
Что-то в таком духе:
if (preg_match('/[a-z]+/i', $input) && preg_match('/[а-я]+/i', $input)) {
// do smth } |
|
|
simply_sash |
17.8.2012, 14:48;
Ответить: simply_sash
Сообщение
#5
|
|
serendipity, не прокатит хотя бы по тому, что в условии ИЛИ, а вы используете &&. Да и дважды вызывать preg_match() если можно проверить за один проход не разумно. Я бы сделал так:
<?php
$user_login = $_GET["input"]; if(preg_match("/((^[a-z]+$)|(^[а-я]+$))/u",$user_login)) { echo $user_login; } else { echo "Некорректное имя пользователя"; } ?> Сообщение отредактировал simply_sash - 17.8.2012, 14:48 |
|
|
serendipity |
17.8.2012, 15:08;
Ответить: serendipity
Сообщение
#6
|
|
serendipity, не прокатит хотя бы по тому, что в условии ИЛИ, а вы используете &&. Да и дважды вызывать preg_match() если можно проверить за один проход не разумно. Суть одна и та же, в вашем коде фактически вызов поиска будет происходить дважды при ложном результате первого поиска И да, мой код рабочий. Сначала засомневался, пришлось открывать редактор, чтобы проверить Сообщение отредактировал serendipity - 17.8.2012, 15:09 |
|
|
oldzas |
17.8.2012, 15:23;
Ответить: oldzas
Сообщение
#7
|
|
Сильно не увлекайтесь) главное не забудьте сделать проверку на наличие такого же логина в бд, меня всегда радовала проверка на js что бы сократить время для пользователя.
|
|
|
serendipity |
17.8.2012, 15:26;
Ответить: serendipity
Сообщение
#8
|
|
|
|
|
simply_sash |
17.8.2012, 15:34;
Ответить: simply_sash
Сообщение
#9
|
|
пришлось открывать редактор Не нужно открывать редактор, что бы понять, что оператор && требует, чтобы оба условия выполнялись! У вас в $input одновременно содержаться только латинские и только русские символы? К тому же в вашей регулярке нет символа начала (^) и символа конца строки ($), а это означает, что preg_match('/[a-z]+/i', $input) сработает, если в $input есть хотя бы одна буква из латинского алфавита в любом месте.И да, мой код рабочий Это не так
|
|
|
serendipity |
17.8.2012, 15:45;
Ответить: serendipity
Сообщение
#10
|
|
Это не так <?php
$input1 = 'Hello ворлд'; $input2 = 'hello world'; $input3 = 'хелоу ворлд'; if (fail($input1)) print $input1 . ' > Ай-яй-яй!'; if (fail($input2)) print $input2 . ' > Ай-яй-яй!'; if (fail($input3)) print $input3 . ' > Ай-яй-яй!'; function fail($input) { return preg_match('/[a-z]+/i', $input) && preg_match('/[а-я]+/i', $input); } |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 692 | 21.2.2024, 23:42 автор: Mixatraider |
|
Помогите рещить проблему с монитором. Почему низкое разрешение при подключении монитора через displayport? |
0 | Levels | 1695 | 11.12.2020, 0:48 автор: Levels |
|
Помогите кто нибудь получить партнерку Росбанк! | 7 | heisenberg_mw | 2315 | 7.8.2020, 9:28 автор: heisenberg_mw |
|
Помогите найти тему пожалуйста | 7 | virtas | 12398 | 24.7.2020, 17:02 автор: -JamesSmips- |
|
Помогите с поиском доноров | 3 | tehno_music | 3331 | 4.11.2019, 17:15 автор: goblin78 |
Текстовая версия | Сейчас: 28.3.2024, 15:24 |