Вообщем надо, чтобы вводимые данные были только:
цифры.цифры.цифры.цифры
И без всяких левых знаков... !@#$%^&*():><?| всякой такой дребедени)
Делаю так:
Код
/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]/
Но не подходит(
Спасибо заранее!
Спустя 5 минут, 27 секунд (4.11.2008 - 04:56) Alchemist написал(а):
А чего надо-то ?
Спустя 8 минут, 26 секунд (4.11.2008 - 05:05) uMnepaTop написал(а):
Чтобы можно было вводить только цифры (IP адрес)
Без !@#$%^&*():><?| всякой такой дребедени)
Без !@#$%^&*():><?| всякой такой дребедени)
Спустя 15 минут, 29 секунд (4.11.2008 - 05:20) Sephiroth_Lukaw написал(а):
Код
<?php
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
if(preg_match("/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]/", $sVal) == true) {
print $sVal . " == IP<BR>";
} else {
print $sVal . " != IP<BR>";
}
}
?>
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
if(preg_match("/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]/", $sVal) == true) {
print $sVal . " == IP<BR>";
} else {
print $sVal . " != IP<BR>";
}
}
?>
Цитата
170.11.13.14 == IP
1111888.999.11.99 == IP
777.33.1.JJ != IP
WWW.1A. != IP
KZALJzn, != IP
1111888.999.11.99 == IP
777.33.1.JJ != IP
WWW.1A. != IP
KZALJzn, != IP
ммм...Видимо опять не понимаю...что вам надо...
upd. Может, нужно удалить всё, кроме цифр?
Спустя 5 минут, 25 секунд (4.11.2008 - 05:26) uMnepaTop написал(а):
Есть форма, в нее вводят IP адрес... Но иногда, вводят после IP адреса еще и какие нить лишние штуки, например:
123.45.67.89: (двоеточие)
Вот как этого избежать?
upd...
Вот я об этом и прошу)
123.45.67.89: (двоеточие)
Вот как этого избежать?
upd...
Вот я об этом и прошу)
Спустя 5 минут, 18 секунд (4.11.2008 - 05:31) Sephiroth_Lukaw написал(а):
Тогда вам совсем другая функция нужна http://ru2.php.net/preg_replace
Вот ещё вариант:
Код
<?php
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
print preg_replace("/[^0-9\.]/", NULL, $sVal) . "<BR>";
}
?>
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
print preg_replace("/[^0-9\.]/", NULL, $sVal) . "<BR>";
}
?>
Цитата
170.11.13.14
1111888.999.11.99
777.33.1.
.1.
1111888.999.11.99
777.33.1.
.1.
Вот ещё вариант:
Код
<?php
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"1111888.999.11.99:00",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
preg_match("/([0-9]{1,4})\.([0-9]{1,4}).([0-9]{1,4}).([0-9]{1,4})/", $sVal, $arrRes);
print_r($arrRes);
}
?>
$arrTest = array(
"170.11.13.14",
"1111888.999.11.99",
"1111888.999.11.99:00",
"777.33.1.JJ",
"WWW.1A.",
"KZALJzn,"
);
foreach($arrTest as $sVal) {
preg_match("/([0-9]{1,4})\.([0-9]{1,4}).([0-9]{1,4}).([0-9]{1,4})/", $sVal, $arrRes);
print_r($arrRes);
}
?>
Код |
Array ( [0] => 170.11.13.14 [1] => 170 [2] => 11 [3] => 13 [4] => 14 ) Array ( [0] => 1888.999.11.99 [1] => 1888 [2] => 999 [3] => 11 [4] => 99 ) Array ( [0] => 1888.999.11.99 [1] => 1888 [2] => 999 [3] => 11 [4] => 99 ) Array ( ) Array ( ) Array ( ) |
Спустя 9 минут, 42 секунды (4.11.2008 - 05:41) uMnepaTop написал(а):
Все, спасибо! Тему офф.