如何设置输入的模式或格式[关闭]

问题描述 投票:-1回答:1

我有两个输入字段我想设置我的第一个输入字段格式,如ASED0000A

如果我输入值AAAA或输入其他字符,如A到Z,那么其他键被禁用

输入应采用以下格式:第一个4应该是字母表接下来的四个应该是数字最后一个应该是一个aplhabet

我的第二个输入字段格式就像AAA / AA / 000/0第1个输入是字符然后是斜杠(/)

另外2个输入是字符,然后是斜杠(/)

接下来的3是数字,再次是斜线,而la是单个数字。

 <?= $form->field($model, 'pan_number')->textInput(['placeholder'=>'AAAAOOOOA','style'=>"text-transform:uppercase"])->label('PAN') ?>
<?= $form->field($model, 'tds_ao')->textInput(['placeholder'=>'AAA/AA/OOO/O'])->label('TDS circle/AO code') ?>
<script>

      $('#companytexinfo-pan_number').keypress(function(e){
            var inputval = $('#companytexinfo-pan_number').val().length;
            console.log(inputval);
            let allow_char = [65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,
                            105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122];
            if(inputval >=4){
                if(allow_char.indexOf(e.which) == -1 ){
                //do something
                }
                else{
                return false;
                }
            }
            let allow_number = [48,49,50,51,52,53,54,55,56,57];
            if((inputval >=5) && (inputval =8)){
                if(allow_number.indexOf(e.which) == -1 ){
                //do something
                }
                else{
                return false;
                }
            }
            let allow_alst_char = [65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,
                                105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122];
            if(inputval ==9){
                if(allow_alst_char.indexOf(e.which) == -1 ){
                    //do something
                }
                else{
                    return false;
                }
            }
      })

</script>

这是我的脚本,但它不能正常工作请帮助谢谢

javascript jquery yii2-advanced-app
1个回答
1
投票

使用formatter.js来实现这一目标。添加插件后,如下所示修改输入。

    <input type="text" name="pan_number" id="pan_number"/>

    <script>

      $('#pan_number').formatter({
          'pattern': '{{aaaa}}{{9999}}{{a}}',
          'persistent': true
     });

    </script>
© www.soinside.com 2019 - 2024. All rights reserved.