【问题标题】:how do I get an input field in html to ensure the pattern contains a specific country code eg 1472 followed by 3 number and then 4 numbers如何在 html 中获取输入字段以确保模式包含特定国家/地区代码,例如 1472,后跟 3 个数字,然后是 4 个数字
【发布时间】:2023-01-30 21:00:46
【问题描述】:

我有针对不同国家/地区加载的不同注册页面,我需要针对该特定国家/地区输入电话,例如在一页上需要国家/地区代码 1234,然后是任意 3 个数字,然后是任意 4 个数字。所以我需要 html 表单中的输入模式。我正在使用 PHP 在服务器端处理它,但我想通过输入限制模式在客户端处理它,以提高效率。我确定它真的很简单,但我似乎找不到一个简单的解决方案。感谢您的帮助

我尝试了模式限制,我可以得到任意 4 个数字,空格,任意 3 个数字,空格任意 4 个数字。但我无法获得:“1234”特定数字、空格、任意 3 个数字、空格、任意 4 个数字。

【问题讨论】:

    标签: html input numbers


    【解决方案1】:

    在此示例中,输入中使用的模式属性验证输入是否符合 E.164 标准。
    ^+(?:[0-9] ?){6,14}[0-9]$ 模式只接受以 + 开头的字符串,后跟 6-14 个数字字符(可选地用空格分隔),最后是一个数字字符:

    <input type="tel" id="phone" name="phone" pattern="^+(?:[0-9] ?){6,14}[0-9]$" placeholder="+391234567890" oninput="if(this.value.length==3) this.value= this.value + ' '; this.value=this.value.replace(/^(+39[0-9]{2})([0-9]{4})([0-9]{4})$/,'$1 $2 $3')" value="+39 " minlength="14" maxlength="14" readonly onfocus="this.removeAttribute('readonly')">
    

    oninput 属性用于在用户输入时格式化电话号码,在本例中将其格式化为 +39 (XXX) XXXX XXXX(意大利语前缀,为简单起见,我所在的国家/地区)
    此外,value 属性设置为+39,这样用户就无法删除国际前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2020-03-23
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2016-09-16
      相关资源
      最近更新 更多