регулярные выражения
Всем привет.Я не силен в регулярных выражениях,потому прошу помочь.
подскажите ,пожалуйста, как составить регулярное выражение так ,чтобы пользователь мог вводить только цифры и никаких других символов и пробелов Делаю так var myRegExp = /\D/gi ,но это работает при вводе первого символа т,е, если ввести 5ор то это проходит,а мне надо чтобы в строке могли быть только цифры и все . |
Как ты используешь этот regexp? Где код? Я могу назвать сразу десяток способов проверки приводящих к разным результатам с одним и тем же регом.
|
Пользователь вводит число в текстовое поле и после каждого нажатия клавиши скрипт должен считывать строку и проверять чтобы в ней были только числа без всяких других символов(букв кавычек пробелов и т.д.).
пробовал написать такой скрипт,но я не силен в регулярных выражениях поэтому это не работает.Подскажи,пожалуйс та,как правильно составить такое выражение. <script type="text/javascript"> $(document).ready(function() { function check(txt) { // var myRegExp = if (txt === /\D/gi ) alert ("Все Ок!"); else alert ("Некорректное имя!"); } $('.sumPay').keyup(function() { check($('.sumPay').val()); }); }); </script> |
yintar,
:-? var myRegExp = /^\d+$/; if (myRegExp.test(txt)) |
Рони большое Вам спасибо.А как теперь сделать так,чтобы если пользователь ввел некорректный символ то его нужно удалить из строки чтобы там остались только цифры
|
yintar,
Цитата:
на форуме десятки тем того что вы хотите сделать, но лучше научится делать такое самому |
Зачем делать replace? Всегда можно отловить введенный символ до того как он добавится в input:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="text" class="sumPay"/> <script src="//yandex.st/jquery/1.8.0/jquery.min.js"></script> <script> $('.sumPay').on('keypress', function (e) { var which = String.fromCharCode(e.charCode); if (/\D/.test(which)) { e.preventDefault(); } }); </script> </body> </html> |
Можно просто заблокировать через pattern =) Но если все таки исправлять неверное по средствам JS, то согласен с предыдущими. =)
<form> <input type="text" pattern="\d+"> <input type="submit" > </form> |
Печаль в том, что pattern ничего не блокирует и не игнорирует:
<input type="text" pattern="\d+">Просто ноет, де фигово ввели. Пользы не много. |
<input id="inputScale" type="range" min="20" max="100" step="20" value="15" style="width:156px!important"/> <div style="word-spacing:16px">20 40 60 80 100</div> |
Цитата:
<html> <head> </head> <body> <input /> <script> document.querySelector("input").oninput=function(){this.value=this.value.replace(/\D+/g, "")} </script> </body> </html> |
Часовой пояс GMT +3, время: 13:04. |