Shukla Pawan Ответов: 10

Ограничьте ввод пользователем только 1) цифр, 2) 10 цифр, 3) буквенно-цифровых символов в текстовое поле с помощью javascript


1) Как ограничить ввод пользователем только чисел в текстовое поле с помощью javascript.
2) Как ограничить ввод пользователем только 10 цифр(номер мобильного телефона) в текстовое поле с помощью javascript.
3) или как ограничить ввод пользователем только буквенно-цифровых данных в текстовое поле с помощью javascript.

hitech_s

позвольте узнать, кто и почему проголосовал за мой ответ...
ваш вопрос меняется время от времени, в начале вы просили только цифры после того, как этот измененный вопрос ограничится 10 цифрами..

10 Ответов

Рейтинг:
69

Tech Code Freak

1) & 3) Используйте элемент управления FilteredTextBoxExtender AJAXControlToolkit.
2) только 10 цифр:
Используйте для этого элемент управления RegularExpressionValidator!
Просто установите свойство ValidationExpression элемента управления как:

ValidationExpression="\d{10}"

Это сделает задачу!


Рейтинг:
63

hitech_s

вы можете сделать это двумя способами
1.в JavaScript
2.Аякс


использование JavaScript

<script type="text/javascript">

   function numbersonly()
   {
   var data=document.getElementById('<%=TextBox1.ClientID %>').value;
   var filter=/^[a-zA-Z0-9]+$/;
    if(!filter.test(data))
       {
       alert("Please enter alphanumeric only");
       document.getElementById('<%=TextBox1.ClientID %>').value="";
       document.getElementById('<%=TextBox1.ClientID %>').focus();
       return false;
       }
       else if(data.Length!=10)
       {
       alert("Please enter 10 digits");
       return false;
       }
       else
       return true;
   }
   </script>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return numbersonly();"/>




использование AJAX

регистрирующий :-
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>


<asp:TextBox ID="txtPhoneNo" runat="server" class="txtfeild" MaxLength="10"/>
                                                    <cc1:FilteredTextBoxExtender ID="txtPhoneNo_FilteredTextBoxExtender" runat="server"
                                                        Enabled="True" TargetControlID="txtPhoneNo" FilterMode="ValidChars" FilterType="Numbers">
                                                    </cc1:FilteredTextBoxExtender>


member60

мои 5!

Abhishek Pant

Можно ли ограничить то же самое для приложений на базе windows в c#?
и мои 5 выше ответить

Рейтинг:
2

V!jAy pAnT

без предупреждения вы можете предотвратить свое текстовое поле......

попробовать это...


function pin() {
            pincode = "<%=txtpincode.ClientID %>";
            if (parseInt(event.keyCode) > 47 && parseInt(event.keyCode)<58) {

                    var str = new String();
                    str = document.getElementById(pincode).value;
                    if (parseInt(str.length) > 6) {
                        document.getElementById(pincode).value = str.substring(0, str.length - 1);
                       }
                    }
            else {
                var str = new String();
                str = document.getElementById(pincode).value;
                document.getElementById(pincode).value = str.substring(0, str.length - 6);
                document.getElementById(pincode).value = "";
            }
            return true;
        }





Попробуйте это вам поможет............без предупреждения вы можете запретить текстовое поле, чтобы избежать ввода символа пользователем...
еще одна вещь-используйте для этого событие keyup..
все будет хорошо
v!z


MohsinAhmad

как напечатать число от 1 до 10 в asp .net

Рейтинг:
2

koolprasadd

попробуйте сделать следующее

TextBox1.Attributes.Add("onkeydown", "isNumericKeyStroke()");

проверить меня[^]


Рейтинг:
1

Rahul Rajat Singh

Все эти сценарии можно легко передать с помощью этого небольшого фреймворка javascript. Вам нужно будет только вызвать функции и ничего больше.

Крошечный Javascript-фреймворк для распространенных сценариев проверки.[^]

Он имеет все необходимые функции, вы даже можете изменить их в соответствии с вашими потребностями.

Возможно, вы захотите использовать их в сочетании со свойством MAxlength текстовых полей и некоторыми пользовательскими регулярными выражениями.


Рейтинг:
1

Member 13381491

if (mob.value == "") {
               alert("Please Enter Mobile Number");
               mob.focus();
               return false;
           }

           if (mob.value.length != 10) {
               alert("Please Enter 10 digit Mobile Number");
               mob.focus();
               return false;
           }
           var IndNum = /^[789]\d{9}$/;
           if (IndNum.test(mob.value) == false) {
               alert("Please enter Correct Mobile Number");
               mob.value = "";
               mob.focus();
               return false;
           }


Рейтинг:
0

P.Salini

запретить пользователю вводить только числа

function NumOnly(var1) {
            var num = document.getElementById(var1).value;
            var dot = 0;
            for (n = 0; n < num.length; n++) {
                digit = num.charCodeAt(n) >= 48 && num.charCodeAt(n) <= 57 || num.charCodeAt(n) == 46 || num.charCodeAt(n) == 45;
                if (!digit) {
                    alert('Enter Numbers Only');

                }
            }
            document.getElementById('<%=txtMobile.ClientID %>').value = "";
            document.getElementById(var1).focus();

        }


вызовите эту функцию в событии textbox onblur


ограничьте ввод пользователем только 10 цифр(номер мобильного телефона) в текстовое поле

набор
Maxlength="10"

maxlength - это свойство textbox
для этого не нужен javascript.


ограничьте ввод пользователем только буквенно-цифровых символов в текстовое поле

function validate(){
var usrid=document.getElementById("txtUserid"); //txtUserid-->ID of textbox
var alphanum=/^[0-9a-bA-B]+$/; //This contains A to Z , 0 to 9 and A to B
if(usrid.value.match(alphanum)){
return true;
}else{
alert(Put a Valid Userid Name);
return false;
}
}


Рейтинг:
0

Muralikrishna8811

привет,

Вот я попробовал какой-то код для вашего требования.попробуйте это вы можете понять, что я сделал

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"  runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script language ="javascript" >
        $(document).ready(function () {
            $('.numeric10').live('keydown', function (e) {

                if (parseInt(e.keyCode) > 47 && parseInt(e.keyCode) < 58) {
                    if (parseInt($(this).val().length) <= 10) {

                    }
                    else {
                        e.preventDefault();
                    }
                }
                else {
                    e.preventDefault();
                }
            });
        });
    </script>
</head>
<body>
    <form id="form1"  runat="server">
    <div>
     <input type ="text" id="txtmbno" class="numeric10" />    
 
    </div>
    </form>
</body>
</html>


Надеюсь, вы поняли, что я сделал

всего наилучшего


V!jAy pAnT

это гуд, но когда мы долго нажимаем на кнопку, она позволяет персонажам.

Muralikrishna8811

да измените это ключевое событие onkeyup на onkeydown

V!jAy pAnT

тем не менее это не работает введите символ, чем введите число после этого снова введите символ, который он позволяет ..то есть он кажется буквенно-цифровым...... но я хочу ограничение на ввод символов .....

Спасибо

Muralikrishna8811

Вы проверили мое последнее обновление которое я разработал в Jquery оно работает нормально
во всех браузерах

Muralikrishna8811

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="сервер">
в <название&ГТ;&ЛТ;/название&ГТ;
&ЛТ;скрипт СРЦ="Scripts/jquery-1.4.1-vsdoc.js" тип="текст/JavaScript"&ГТ;&ЛТ;/скрипт>
&ЛТ;скрипт СРЦ="Scripts/jquery-1.4.1.js" тип="текст/JavaScript"&ГТ;&ЛТ;/скрипт>
<script language ="javascript" >
$(документ).готово(функция () {
$('.numeric10').текущий('вниз', функция (е) {

если (parseInt(электронная.код ключа) &ГТ; 47 &&усилителя; parseInt(электронная.код ключа) &ЛТ; 58) {
if (parseInt($(this).val().length) <= 10) {

}
еще {
е.метод preventDefault();
}
}
еще {
е.метод preventDefault();
}
});
});
</script>
</head>
<тело>
&ЛТ;форме ID="форма form1" атрибут runat="сервер"и GT;
<div>
в <тип входного ="текст" идентификатор="txtmbno" класс="numeric10" /&ГТ;

</div>
</форма>
</body>
</html>

V!jAy pAnT

это не работает...... плз помогите ..!

Muralikrishna8811

проверьте, являются ли файлы jquery реферирующими или нет

V!jAy pAnT

я его отсылаю.. но ничего не происходит, я тоже использовал точку останова, чтобы увидеть это, но не мог понять....

Muralikrishna8811

поместите предупреждение в метод готовности документа, чтобы проверить его работу или нет

V!jAy pAnT

$(документ).готово(функция () {
$("#txtpincode").live('keydown', функция () {
тревога("привет");
});
});

даже это тоже не работает...........

Muralikrishna8811

$(документ).готово(функция () {
тревога("привет");
$("#txtpincode").live('keydown', функция () { }); });

этот код работает? я имею в виду, работает тревога или нет?

V!jAy pAnT

да, это работает, но я должен запустить код в событии keydown...

Muralikrishna8811

если это wrks означает, что события keydown должны быть wrks его jquery so cross-browser

V!jAy pAnT

я проверил это в Firefox ужр &амп; хром как ....... но события keydown не работает .. мне главное, возм б $("#txtpincode").текущий('вниз', функция ()
линия так что, пожалуйста, проверьте это еще раз..

Muralikrishna8811

почтовый индекс, который вы использовали ?

V!jAy pAnT

$(документ).готово(функция () {
// alert("привет");
$('#txtpincode').live('keydown', функция () {


если (parseInt(электронная.код ключа) &ГТ; 47 &&усилителя; parseInt(электронная.код ключа) &ЛТ; 58) {
if (parseInt($(this).val().length) <= 6) {

}
еще {
е.метод preventDefault();
}
}
еще {
е.метод preventDefault();
}
});
});

Muralikrishna8811

Привет я сменил код проверь его один раз
что очень просто в Jquery

V!jAy pAnT

спасибо за это ...... но я новичок в jquery, можете ли вы сказать мне, как мы можем использовать jquery...

Muralikrishna8811

Да Конечно
последний код работает для вас, не так ли?

Muralikrishna8811

Jquery прост и мощен
и это просто коллекция методов javascript(библиотека javascript)

V!jAy pAnT

вами Muralikrishna8811... я получил его, теперь он работает нормально, но немного prob все еще там, когда мы долго prssing номер...... попробуйте & проверить

Muralikrishna8811

Я проверил его он работает нормально

Рейтинг:
0

sravani.v

function NumOnly(var1) {
            var num = document.getElementById(var1).value;
            var dot = 0;
            for (n = 0; n < num.length; n++) {
                digit = num.charCodeAt(n) >= 48 && num.charCodeAt(n) <= 57 || num.charCodeAt(n) == 46 || num.charCodeAt(n) == 45;
                if (!digit) {
                    alert('Enter Numbers Only');

                }
            }
            document.getElementById('<%=txtMobile.ClientID %>').value = "";
            document.getElementById(var1).focus();

        }


или
Только проверка номера в текстовом поле ASP.NET использование валидатора регулярных выражений
Только цифры могут войти в это текстовое поле

Для этого мы можем использовать валидатор регулярных выражений:

In the validation expression property keep ^\d+$.

<asp:TextBox ID="TextBox1" runat="server" Style="z-index: 100; left: 259px; position: absolute;
top: 283px" ValidationGroup="check"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"

ErrorMessage="Please Enter Only Numbers" Style="z-index: 101; left: 424px; position: absolute;
top: 285px" ValidationExpression="^\d+$" ValidationGroup="check"></asp:RegularExpressionValidator>


Только для ввода буквенно-цифровых данных
<script type="text/javascript">
function checkkey(obj)
{ var re = /^[a-zA-Z_0-9]$/;
alert(re.test(obj.value));
if (! re.test(obj.value))
{ alert("Please enter alphanumeric only");
}
}
</script>


Рейтинг:
0

sujit0761

Привет,

вы можете поместить это выражение для проверки ввода текста:

^((\+)?(\d{2}[-]))?(\d{10}){1}?$


Это выражение проверки элемента управления регулярными выражениями. и установить

Элемент управления для проверки-- property в текстовое поле, в которое вы хотите ввести значение.

Этот шаблон предназначен для проверки мобильного номера с 10-значным номером и кодом страны в качестве дополнительного.