|
|
|
| как узнать что в строке есть опрделенные символы?
Например что в строке есть буквы и и спец знаки?
Есть спецальные функции(строковые)?
Или проверять такое можно с помощью регулярных выражений?
Есть строка $a она должна быть больше 1 и быть только целым числом
что то ни как не получается
{if (!preg_match("[a-Z]",$a))
{}
else
{echo " Ошибка! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a = 30;}}
голова пухнет просто | |
|
|
|
|
|
|
|
для: Zebra
(22.09.2004 в 05:56)
| | Плясать следует от задачи, как я понял вас не интересует есть ли какие-либо лишние символы в строке, вы заинтересованы в том, что бы это строка была числом больше единицы. Тогда следует использовать конструкцию:
<?php
if (!preg_match("[0-9]+",$a)) // В строке должны быть только цифры, причём не меньше одной
{
echo " Ошибка! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a = 30;
}
?>
|
А после этого следует проверять равно число единице или нет... | |
|
|
|
|
|
|
|
для: cheops
(22.09.2004 в 07:27)
| | Warning: Unknown modifier '+' in s:\h....
на это ругается if (!preg_match("[0-9]+",$a))
Ну мне нужно чтобы число было >1 и меньше ну этак 1000 и чтоб в стоке не было других символов! ну и чтоб строка не была пустая. | |
|
|
|
|
|
|
|
для: Zebra
(22.09.2004 в 23:24)
| | А ну, да действительно, следует использовать вариант:
<?php
if (!preg_match("/[0-9]+/i",$a)) // В строке должны быть только цифры, причём не меньше одной
{
echo " Ошибка! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a = 30;
}
if($a<0 || $a>1000)
{
echo " Ошибка! Следует вводить число в диапазоне от 1 до 999! Выставлено значение 30" ;
$a = 30;
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.09.2004 в 23:48)
| | если ввести цифра буква то скрипт не замечает "подвоха"
да и буква цифра прокатывает.
нужно дополнить если есть буквы и другие символы то тогда ошибка
if (!preg_match("[a-Z]",$a)) // В строке должны быть только цифры, причём не меньше одной
{
echo " Ошибка2! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a= 30;
}
else
{
echo " ОК! ";
}
Этот код будет ругаться если в строке есть хоть одна буква но если будет и хоть одна цифра все равно ругается ...
По идее вроде читается если в строке $a есть буквенные символы то тогда
echo " Ошибка2! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a= 30;
иначе
echo " ОК! ";
но почему то работает не так если ввожу просто цифро то тоже ругается
echo " Ошибка2! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a= 30; | |
|
|
|
|
|
|
|
для: Zebra
(23.09.2004 в 00:19)
| |
<?php
if (preg_match("/[^\d]+/i",$a)) // В строке должны быть только цифры, причём не меньше одной
{
echo " Ошибка2! Вы ввывели не цифровые символы! Выставлено значение 30" ;
$a = 30;
}
elseif($a<1 || $a>999)
{
echo "Ошибка! Вводите числа от 1 до 999! Выставлено значение 30" ;
$a = 30;
}
else
{
echo "Нормально! Выставлено значение $a" ;
}?>
|
так попробуй у меня все работало вроде. | |
|
|
|
|
|
|
|
для: s1271tvg
(23.09.2004 в 06:26)
| | спасибо так все работает.
Только понять не могу когда $a = - 5 допустим скрипт выводит что введен не числовое значение а не то что Ошибка! Вводите числа от 1 до 999! | |
|
|
|
|
|
|
|
для: Zebra
(24.09.2004 в 01:42)
| | Нет ну про отрицательные я не предесмотрел. Минус не цифра поэтому ошибка. | |
|
|
|