Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何限制用户在输入元素中键入10位数字?_Javascript_Html_Css - Fatal编程技术网

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

Javascript 如何限制用户在输入元素中键入10位数字?,javascript,html,css,Javascript,Html,Css,我想为电话号码创建一个输入字段。我正在使用JavaScript动态创建输入字段 <input type="text" id="phone" name="phone"> 如何限制用户仅键入10位数字才能获取电话号码。在输入中添加maxlength属性 <input type="text" id="phone" name="phone" maxlength="10"> <input type="text" id="phone" name="phone" maxl

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

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


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

在输入中添加
maxlength
属性

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


在JSFIDLE上可以看到这一点。

对输入使用maxlength属性

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


查看此处的fiddle演示

尽管您可以在输入上使用maxLength,以及一些javascript验证,但仍然需要执行服务器端验证。

使用
maxLength

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

HTML

<input type="text" id="youridher" size="10">
<input type="text" name="fieldName" id="fieldSelectorId">

使用JQuery

SIZE = 10
$(document).ready(function() {
      $("#youridher").bind('keyup', function() { 
            if($("#youridher").val().length <= SIZE && PHONE_REGEX) {
                return true;
            }
            else {
                return false;
            }  
      });
});
SIZE=10
$(文档).ready(函数(){
$(“#youridher”).bind('keyup',function(){
如果($(“#youridher”).val().length试试这个

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

这将确保

  • 它是数字的
  • 最多10个字符
  • 第一个数字不是零

  • 我已经成功地创建了自己的工作答案

    <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>
    
    
    函数phoneno(){
    $(“#电话”)。按键(功能(e){
    var a=[];
    var k=e,其中;
    对于(i=48;i<58;i++)
    a、 推(i);
    如果(!(a.indexOf(k)>=0))
    e、 预防默认值();
    });
    }
    
    您可以使用
    maxlength
    来限制长度。通常,对于数字输入,您会使用
    type=“number”
    ,但是这会添加一个旋转框来滚动数字,这对电话号码完全没有用。但是,您可以使用
    模式
    属性来限制数字输入(如果需要,还需要10个数字):

    
    
    maxlength限制不能超过所需数字但接受小于所需数字的数字数。如果移动设备没有maxlength=“10”它不会接受11,但可以接受任何高达10的内容。这里,所有上述输出都给出了一个10位数字,但同时输入字段也接受字符,这不是完整的解决方案。为了只设置10位数字,我们可以将输入标记与该类型一起用作数字,这样我们就可以删除u通过在css中编写一些小代码来实现p-down数组,该代码与输入标记一起显示在下面

     <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; 
    }
    
    
    输入[类型=编号]:-webkit内部旋转按钮,
    输入[type=number]:-webkit外部旋转按钮{
    -webkit外观:无;
    -moz外观:无;
    外观:无;
    保证金:0;
    }
    
    只需在文档中包含parsley.js文件,并在手机号码的输入元素中输入以下内容

    data parsley type=“number”data parsley length=“[10,10]”data parsley length message=“输入手机号码”

    您可以根据需要更改消息 您还需要通过编写来初始化文档中的parsley.js文件

     <script type="text/javascript">
    
            $(document).ready(function() {
                $('form').parsley();
            });
        </script>   
    
    
    $(文档).ready(函数(){
    $('form')。欧芹();
    });
    

    ---上面的代码在您的文档中。***

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

    <input type="text" name="AUS" pattern="[0-9]{10}" title="You can enter only 10 digits..." />
    
    
    //type="text" <!-- always -->
    //name="AUS" <!-- for Australia -->
    //pattern="[0-9]{10}" <!-- 10 digits from 0 to 9 -->
    //title="You can enter only 10 digits..." <!-- Pops a warning when input mismatches -->
    
    
    //type=“text”
    //name=“AUS”
    //pattern=“[0-9]{10}”
    //title=“您只能输入10位数字…”
    
    HTML

    <input type="text" id="youridher" size="10">
    
    <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;
           }
          });
        });
    
    jQuery(文档).ready(函数(){
    jQuery(“#fieldSelectorId”)。按键(功能(e){
    var length=jQuery(this).val().length;
    如果(长度>9){
    返回false;
    }否则如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
    返回false;
    }如果((长度=0)和&(e.which==48)){
    返回false;
    }
    });
    });
    
    如何将文本框格式设置为8位数字(00000019)

    优点是它适用于type=“number”


    如果您希望用户在输入控制中输入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">
    
    
    
    利益-

  • 它不允许在输入框中键入任何字母,因为输入框的类型为“数字”

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

  • 它不允许用户输入少于10位数的任何内容,因为我们希望将用户限制在10位数的电话号码中。代码中的min属性具有10位数的最小可能值,因此它将告诉用户输入不少于10位数的有效值


  • 无论是谁在2020年查看这篇文章,他们都可以使用电话号码(10位),
    数字类型,并限制为仅5位。

    这就是我使用的:

    <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>
    
    10位
    

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

    到目前为止您尝试的任何代码都可能重复?@Hariharan
    size
    不限制输入字段。应使用maxlength。我在jquery中有验证代码,但它不起作用,因为我使用javascript创建了输入文本字段。大小确定S宽度,它不限制任何内容。很抱歉,我本打算写maxlength。答案已修改。这将允许在文本框中输入'abcdc',谁需要电话号码。这使用jQuery而不提及它,并且它不会检查字符是否为数字。当粘贴数据而不是键入数据时,它不起作用。编辑属性值为问题中请求的值。在这种情况下,输入字段将接受文本,即任何最大长度为10的字符串都将被接受。-@NiettheDarkAbsolOkay我将尝试此方法,但我已经解决了我的问题,我也发布了我自己的答案。您使用的浏览器是什么?旧版本的