【问题标题】:How could I request a certain number (digit) with a certain times to be inserted in an input element?我如何请求在输入元素中插入特定次数的特定数字(数字)?
【发布时间】:2013-05-30 05:55:46
【问题描述】:

如何请求将特定次数的特定数字插入输入元素?

我需要要求用户在文本或密码字段中以任何格式输入某个数字的 3 次,比如数字 9。

我怎样才能使用 HTML5 或任何其他方式做到这一点?

如果我有这个代码:

<td><input type="password" name="password" maxlength="9" pattern="\d+" title="9 numbers only" placeholder="9 numbers only"  value="<?php echo htmlentities($password); ?>" /></td>

然后,我需要的模式作为例子:(“x”是任何数字)

xxx999xxx

或者: x9x9x9xxx

或者: 9xxx9xxx9

或者: x9xxxx99x

格式无所谓,每次插入3次数字9即可。

【问题讨论】:

    标签: html validation input format pattern-matching


    【解决方案1】:

    您可以将此工具用于正则表达式:http://gskinner.com/RegExr/

    这种模式应该可以工作:[^9.]*9[^9.]*9[^9.]*9[^9.]*

    【讨论】:

    • gskinner.com/RegExr/。一个很棒的工具,谢谢。但是现在我有很多模式,一个只能在输入元素中接受,请问我该如何处理?
    • 对不起。我的模式不起作用,因为.* 是一个字符序列(9 是一个字符)。 :(
    • 它正在工作,但我丢失了“仅整数”模式..!我需要所有这些模式(9 位数字和任意 3 个零),请问有什么办法吗?
    【解决方案2】:

    你可以在javascript中获取字符的频率

        <script language="javascript" type="text/javascript">
    
            alert ('hi');
            var arr="sandeeep".split('');
            var uniqs = {};
    
            for(var i = 0; i < arr.length; i++) {
                uniqs[arr[i]] = (uniqs[arr[i]] || 0) + 1;
            }
             var countarr = { val: arr[0], count: 1 };
            for(var u in uniqs) {
                if(countarr.count < uniqs[u]) { countarr= { val: u, count: uniqs[u] }; }
            }
            alert( countarr.count);
        </script> 
    

    从上面的代码

          alert( countarr.count);
    

    您可以从 countarr.count 检查最大计数并验证它

    【讨论】:

      猜你喜欢
      • 2016-01-06
      • 2020-07-07
      • 2021-08-16
      • 2021-09-15
      • 2014-05-31
      • 2010-09-09
      • 2019-12-16
      • 2019-11-20
      • 1970-01-01
      相关资源
      最近更新 更多