Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > проблемма с регулярными выражениями


Автор: canyouhelpme 13.5.2006, 16:53
как по нормальному использовать регулярные выражения ведь такой скрипт
Код

<?
$mas="54374354645466754367657#^$*%*&g45";
if(ereg("[a-z]",$mas)){echo("yes");};
?>

выведет "yes" я использовал такой
Код

<?
$mas="gh2j";
$error="";
$maslength=strlen ( $mas );
for($i=0;$i!=$maslength;$i++){
$sub=substr ( $mas , $i , 1);
if(!ereg("[a-z]",$sub)){$error="true";};};
if($error=="true"){echo("no");}else{echo("yes");};
?>

но может что нибудь болле правильное подскажете 

Автор: CyClon 13.5.2006, 17:50
Код
<?php

$string = "123456789 abc";

if (preg_match("#[a-z]#", $string)) {
    echo "Yes";
} else {
    echo "No";
}

?>
 

Автор: canyouhelpme 13.5.2006, 18:09
не я имел ввиду немного другое например мне нужен пароль состоящий только из цыфр а кто нибудь введет "hello7522" тогда воспользовавшись твоим скриптом мы увидем что он выведет yes а мне надо чтобы он понял что надпись неправильная
Код

<?php

$string = "hello7522";

if (preg_match("#[0-9]#", $string)) {
    echo ("Yes");
} else {
    echo ("No");
}

?>

 

Автор: Mal Hack 13.5.2006, 18:22
Надо делать привязку к началуи концу строки.
#^[a-z]+$#
http://php.rinet.ru/manual/en/reference.pcre.pattern.syntax.php

Модератор: есть же специальный форум по работе с текстовой информацией. 

Автор: canyouhelpme 13.5.2006, 19:31
но тогда посередине можно будет всунуть запретные символы 

Автор: Mal Hack 13.5.2006, 19:40
canyouhelpme, прочитай про то, как работают паттерны вообще. 

Автор: canyouhelpme 13.5.2006, 20:21
 smile напиши кодом может пойму про рег. выражения читал (но давно) но дело в том что я много иксперементировал и без цыклов у меня так и не получилось 

Автор: Mal Hack 13.5.2006, 20:40
canyouhelpme, тут помогают писать, а не пишут за тебя.
К тому же весь код тебе дали и в принципе, объяснили. Читай в приведенной мною выше ссылки про спецификатор начала и конца строки. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)