如何为输入设置模式或格式
How to set pattern or format for a input
我有两个输入框
我想设置我的第一个输入字段格式,如 ASED0000A
如果我输入值 AAAA 或输入其他字符,如 A 到 Z,则其他键将被禁用
输入应采用以下格式:
1st 4应该是字母表
接下来的四个应该是数字
最后一个应该是aplhabet
我的第二个输入字段格式类似于 AAA/AA/000/0
第 3 个输入是字符然后是斜杠 (/)
另外 2 个输入是字符然后是斜杠 (/)
接下来的 3 是数字,又是斜线和 la
st 一个数字。
<?= $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>
这是我的脚本,但它不能正常工作
请帮忙
谢谢
使用formatter.js来实现。
添加插件后如下修改输入。
<input type="text" name="pan_number" id="pan_number"/>
<script>
$('#pan_number').formatter({
'pattern': '{{aaaa}}{{9999}}{{a}}',
'persistent': true
});
</script>
我有两个输入框 我想设置我的第一个输入字段格式,如 ASED0000A
如果我输入值 AAAA 或输入其他字符,如 A 到 Z,则其他键将被禁用
输入应采用以下格式: 1st 4应该是字母表 接下来的四个应该是数字 最后一个应该是aplhabet
我的第二个输入字段格式类似于 AAA/AA/000/0 第 3 个输入是字符然后是斜杠 (/)
另外 2 个输入是字符然后是斜杠 (/)
接下来的 3 是数字,又是斜线和 la st 一个数字。
<?= $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>
这是我的脚本,但它不能正常工作 请帮忙 谢谢
使用formatter.js来实现。 添加插件后如下修改输入。
<input type="text" name="pan_number" id="pan_number"/>
<script>
$('#pan_number').formatter({
'pattern': '{{aaaa}}{{9999}}{{a}}',
'persistent': true
});
</script>