[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ограничить ввод символов в форму
Mopsusha
Нужно чтобы в поле можно было ввести только цифры , а так же запятую и точку.



Спустя 11 минут, 30 секунд (8.03.2011 - 18:15) sharki написал(а):
Смотри в сторону регулярок, сначало работаешь с JS а потом на серве еще перепроверь.

Спустя 2 минуты, 12 секунд (8.03.2011 - 18:17) Mopsusha написал(а):
Цитата (sharki @ 8.03.2011 - 15:15)
Смотри в сторону регулярок, сначало работаешь с JS а потом на серве еще перепроверь.

а можно кодом?
я сделала вот так

function checkNumber(event)
{
event = (event)?event:window.event;
var code = (event.charCode) ? event.charCode : event.keyCode;
var el = event.target || event.srcElement;
if((code >=48 && code <=57) || (code >= 187 && code <= 191)) return true
else return false

}

не работает

Спустя 1 минута, 6 секунд (8.03.2011 - 18:18) sharki написал(а):
Тут тупо регулярками и всё...в регулярках сейчас я не силен...

Спустя 1 час, 5 минут, 5 секунд (8.03.2011 - 19:23) inpost написал(а):
Mopsusha
Только не говори, что подсмотрено с курсов Попова? Я как раз такой вид высмеивал =)))
Этот код реализуется регуляркой очень просто. Но, чтобы не писать за тебя регулярку, советую прочитать про них. Они одинаковы как на ПХП, так и на JS. А вот уже с готовым кодом регулярки к нам, тогда править будем.

Спустя 5 минут, 19 секунд (8.03.2011 - 19:28) Mopsusha написал(а):
Цитата (inpost @ 8.03.2011 - 16:23)
Mopsusha
Только не говори, что подсмотрено с курсов Попова? Я как раз такой вид высмеивал =)))
Этот код реализуется регуляркой очень просто. Но, чтобы не писать за тебя регулярку, советую прочитать про них. Они одинаковы как на ПХП, так и на JS. А вот уже с готовым кодом регулярки к нам, тогда править будем.

onkeyup="this.value = this.value.replace (/^[a-zа-я_]+/,'')"
прописывала ещё такой вариант, но после ввода первой цыфры можно вводить и другие символы

Спустя 1 минута, 41 секунда (8.03.2011 - 19:30) alex12060 написал(а):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>
Ввод только цифр и запятых</title>
<meta
http-equiv="content-type" content="text/html; charset=utf-8" />
<script>
function
check(email) {
var reg=/^([0-9])|(,)$/
var result=(reg).test(email.substr(email.length - 1, 1));


return result
}

function bad(form) {
form = form.slice(0, -1);

//alert ('Можно вводить только цифры и запятую!');

return form;
}
</script>
</head>
<body>
<input
type="text" onkeyup="check(document.getElementById('form').value) ? void(0) : this.value = bad(document.getElementById('form').value)" id="form" />

<!--<input type="text" onkeypress="alert((document.getElementById('form').value).substr(document.getElementById('form') .value.length - 1, 1))" id="form" />-->
</body>
</html>



Полностью рабочий. Переделаешь под себя)
З.Ы С праздником))

Спустя 9 минут, 4 секунды (8.03.2011 - 19:39) Mopsusha написал(а):
Цитата (alex12060 @ 8.03.2011 - 16:30)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>
Ввод только цифр и запятых</title>
<meta
http-equiv="content-type" content="text/html; charset=utf-8" />
<script>
function
check(email) {
var reg=/^([0-9])|(,)$/
var result=(reg).test(email.substr(email.length - 1, 1));


return result
}

function bad(form) {
form = form.slice(0, -1);

//alert ('Можно вводить только цифры и запятую!');

return form;
}
</script>
</head>
<body>
<input
type="text" onkeypress="check(document.getElementById('form').value) ? void(0) : this.value = bad(document.getElementById('form').value)" id="form" />

<!--<input type="text" onkeypress="alert((document.getElementById('form').value).substr(document.getElementById('form') .value.length - 1, 1))" id="form" />-->
</body>
</html>



Полностью рабочий. Переделаешь под себя)
З.Ы С праздником))

Спасибо за поздравление)))))
Одну букву всё равно можно ввести!!!

Спустя 3 минуты, 44 секунды (8.03.2011 - 19:43) alex12060 написал(а):
А я знаю, эту проблему можно решить с помощью доп функции. А хотя, ща поаукаю)

Спустя 16 секунд (8.03.2011 - 19:43) Mopsusha написал(а):
Цитата (alex12060 @ 8.03.2011 - 16:30)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
    <title>
Ввод только цифр и запятых</title>
    <meta
http-equiv="content-type" content="text/html; charset=utf-8" />
    <script>
        function
check(email) {
            var reg=/^([0-9])|(,)$/
            var result=(reg).test(email.substr(email.length - 1, 1));
       
           
            return result
        }
       
        function bad(form) {
            form = form.slice(0, -1);
           
            //alert ('Можно вводить только цифры и запятую!');
           
            return form;
        }
    </script>
</head>
<body>
  <input
type="text" onkeypress="check(document.getElementById('form').value) ? void(0) : this.value = bad(document.getElementById('form').value)" id="form" />
 
  <!--<input type="text" onkeypress="alert((document.getElementById('form').value).substr(document.getElementById('form')   .value.length - 1, 1))" id="form" />-->
</body>
</html>



Полностью рабочий. Переделаешь под себя)
З.Ы С праздником))

Всё исправила, повесила на onkeyup

Спустя 2 минуты, 9 секунд (8.03.2011 - 19:45) alex12060 написал(а):
Да, я тоже исправил biggrin.gif

Спустя 26 минут, 6 секунд (8.03.2011 - 20:11) inpost написал(а):
Mopsusha
В твоём случае не нужно было указывать начало строки: ^ , так как искать и удалять буквы нужно не только с самого начала, но и текст, находящийся внутри.
Лучше указать наоборот, что мы не ищем:
('|[^0-9\.\,]+|','') - любые символы НЕ перечисленные будут удаляться.

Спустя 27 минут, 21 секунда (8.03.2011 - 20:39) Mopsusha написал(а):
Цитата (inpost @ 8.03.2011 - 17:11)
Mopsusha
В твоём случае не нужно было указывать начало строки: ^ , так как искать и удалять буквы нужно не только с самого начала, но и текст, находящийся внутри.
Лучше указать наоборот, что мы не ищем:
('|[^0-9\.\,]+|','') - любые символы НЕ перечисленные будут удаляться.

(/[^0-9\.\,]+/,'')
вот так работает

Спустя 8 минут, 5 секунд (8.03.2011 - 20:47) oleg634 написал(а):
var reg=/^([0-9])|(,)$/

Спустя 23 минуты, 34 секунды (8.03.2011 - 21:10) Trianon написал(а):
Цитата
var reg=/^([0-9])|(,)$/

точки нет.
запятую зачем-то унесли в отдельную подмаску...
повторителя нет.

Это стёб такой?

Спустя 1 минута, 20 секунд (8.03.2011 - 21:12) Mopsusha написал(а):
Цитата (Trianon @ 8.03.2011 - 18:10)
Цитата
var reg=/^([0-9])|(,)$/

точки нет.
запятую зачем-то унесли в отдельную подмаску...
повторителя нет.

Это стёб такой?

(/[^0-9\.\,]+/,'')

Вот окончательный вариант(отлично работает)
тема закрыта

Спустя 2 минуты, 21 секунда (8.03.2011 - 21:14) alex12060 написал(а):
Цитата
Это стёб такой?


Возможно)
Я в регулярках не ахти пока)
Я на быструю руку составил и все)


_____________
Мы говорим и говорим друг с другом,// Но мы одиноки. Живые, одинокие. //Чьи мы? // Как перекати-поле, без корней...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.