如何限制用户在输入元素中键入10位数字?

时间:2013-10-18 08:52:06

标签: javascript html css

我想为电话号码创建输入字段。我正在动态地使用JavaScript创建输入字段。

<input type="text" id="phone" name="phone">

如何限制用户只键入10位数字才能获得电话号码。

19 个答案:

答案 0 :(得分:13)

试试这个

<input type="text" name="country_code" pattern="[1-9]{1}[0-9]{9}"> 

这将确保

  1. 是数字
  2. 最多10个字符
  3. 第一个数字不为零

答案 1 :(得分:7)

使用maxlength

<input type="text" maxlength="10" />

答案 2 :(得分:5)

我已成功创建了自己的工作答案。

<input type="text" id="phone" name="phone" onkeypress="phoneno()" maxlength="10">

以及

    <script>        
           function phoneno(){          
            $('#phone').keypress(function(e) {
                var a = [];
                var k = e.which;

                for (i = 48; i < 58; i++)
                    a.push(i);

                if (!(a.indexOf(k)>=0))
                    e.preventDefault();
            });
        }
       </script>

答案 3 :(得分:5)

您可以使用maxlength来限制长度。通常对于数字输入你会使用type="number",但是这会添加一个用于滚动数字的spinny框,这对于电话号码来说是完全没用的。但是,您可以使用pattern属性将输入限制为数字(如果需要,也需要10个数字):

<input type="text" maxlength="10" pattern="\d{10}" title="Please enter exactly 10 digits" />

答案 4 :(得分:2)

在输入中添加maxlength属性。

<input type="text" id="phone" name="phone" maxlength="10">

在JSFiddle上查看此working example

答案 5 :(得分:1)

对输入使用maxlength属性。

<input type="text" id="phone" name="phone" maxlength="10">

请在此处查看小提琴演示Demo

答案 6 :(得分:1)

HTML

<input type="text" name="fieldName" id="fieldSelectorId">

此字段最多只能使用10位数字,并且不接受零作为第一位数字。

JQuery

jQuery(document).ready(function () {
      jQuery("#fieldSelectorId").keypress(function (e) {
         var length = jQuery(this).val().length;
       if(length > 9) {
            return false;
       } else if(e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
            return false;
       } else if((length == 0) && (e.which == 48)) {
            return false;
       }
      });
    });

答案 7 :(得分:0)

这是我使用的:

<input type="tel" name="phoneNumber" id="phoneNumber" title="Please use a 10 digit telephone number with no dashes or dots" pattern="[0-9]{10}" required /> <i>10 digits</i>

它准确阐明了条目中的预期内容并给出了可用的错误消息。

答案 8 :(得分:0)

无论谁在2020年查看此帖子,他们都可以将<input inputmode="tel">用于电话号码(10位数字),<input inputmode="numeric" maxLength={5}>用于数字类型,并且只能使用5位数字。

答案 9 :(得分:0)

如果要限制用户在输入控件中输入10位数字,请找到以下代码

<input class="form-control  input-md text-box single-line" id="ContactNumber" max="9999999999" min="1000000000" name="ContactNumber" required="required" type="number"  value="9876658688">

好处-

  1. 由于输入框的类型为“数字”,因此不允许在输入框中键入任何字母

  2. 它将最多允许10位数字,因为max属性设置为10位数字的最大可能值。

  3. 它不允许用户输入少于10位的数字,因为我们希望限制用户使用10位数字的电话号码。代码中的min属性具有10位的最小值,因此它将告诉用户输入不少于10位的有效10位值。

答案 10 :(得分:0)

  <input type="text" name='mobile_number' pattern=[0-9]{1}[0-9]{9}>

答案 11 :(得分:0)

$(document).on('keypress','#typeyourid',function(e){
if($(e.target).prop('value').length>=10){
if(e.keyCode!=32)
{return false} 
}})

此功能可用于type =“ number”

答案 12 :(得分:0)

如何将文本框格式设置为8位数字(00000019)

string i = TextBox1.Text;
string Key = i.ToString().PadLeft(8, '0');
Response.Write(Key);

答案 13 :(得分:0)

下面的代码段完成了预期的工作!

  Model m = list.stream()
            .filter(p -> p.name.equals("1"))
            .filter(p -> p.rollNo.equals(1))
            .findFirst()
            .orElseThrow(() -> new IllegalArgumentException("Key not found"));

  if (hm.containsKey(m)) {
        System.out.println("hit");
  }

答案 14 :(得分:0)

只需在文档中包含parsley.js文件,并在手机号码的输入元素中输入此

<强> packageInfo.get(key)

您可以根据自己的要求更改邮件 您还需要通过编写

来初始化文档中的parsley.js文件
data-parsley-type= "number" data-parsley-length="[10,10]" data-parsley-length-message= "Enter a Mobile Number"

---您文档中的代码。***

答案 15 :(得分:0)

这里所有上述输出都给出了一个10位数字,但同时输入字段也接受了字符,这不是完整的解决方案。为了只设置10位数字,我们可以使用输入标签和该类型作为数字,并且我们可以通过在css中编写一些小代码来删除上下数组,如下所示,输入标签

 <input name="phone" maxlength="10" pattern="[1-9]{1}[0-9]{9}" class="form-control" id="mobile"  placeholder="Enter your phone Number" type="number">


input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0; 
}

答案 16 :(得分:0)

maxlength限制不能超过所需数字但仍接受小于所需数字的位数。如果移动No maxlength =“10”,它将不接受11但可以接受任何高达10

的任何内容

答案 17 :(得分:0)

<强> HTML

<input type="text" id="youridher" size="10">

使用 JQuery

SIZE = 10
$(document).ready(function() {
      $("#youridher").bind('keyup', function() { 
            if($("#youridher").val().length <= SIZE && PHONE_REGEX) {
                return true;
            }
            else {
                return false;
            }  
      });
});

答案 18 :(得分:0)

虽然您可以在输入中使用 maxLength ,而某些 javascript验证,但仍然需要执行服务器端验证

相关问题