ограничить ввод данных с помощью javascript

может ли кто-нибудь показать мне пример ограничения пользовательского ввода (на теге ввода) в Javascript?

что-то, что, когда мы устанавливаем вход (type="text") только для принятия числового, поэтому он будет игнорировать любой другой вход, кроме числового...

Я думаю, что это удобно для ввода номера (например, zip, кредитная карта, деньги, значение, оценка, дата и т. д...), и если вы можете показать мне, как создать ввод с помощью шаблона, что-то вроде:

Please Input Date:
|-----------------|
|     /     /     |
|-----------------|

PS: Я слышал WebForms 2.0 будет поддерживать это в будущем... (Acid 3 совместимый браузер?)

входной тип="дата"
тип ввода= "время"
тип ввода= "число"
тип ввода= "деньги"

но это были только новости из будущего: D

3 ответов


Это может помочь вам.

http://www.w3schools.com/jsref/event_onkeydown.asp

<html>
<body>

<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
</script>

<form>
<input type="text" onkeydown="return noNumbers(event)" />
</form>

</body>
</html>

этот вопрос уже принятый ответ, но я думаю, что существует лучшее решение для этого. Вам не нужно реализовывать это самостоятельно на keydown и т. д. для этого есть библиотеки. Они называют технику, которую вы описываете, "масками ввода". Проверьте этот плагин jQuery это именно то, что вы хотите.


вы можете использовать определенные библиотеки, такие как jQuery Validate (или любые ваши предложения JS framework) в форме отправки. Другое решение-контролировать значение событий keyUp & blur, но может стать довольно грязным, чтобы решить, что делать с плохо сформированной записью (особенно, когда формат немного сложный-т. е. не только нежелательные символы). Итак, в целом, я бы рекомендовал клиентский контроль на submit.