我有两个字段用户名和密码。我添加了输入掩码
条件是
- 如果用户在用户名中输入“123456”,则密码字段应允许六位数字,第三位数字后有空格。
- 如果用户在用户名中输入的不是“123456”,则密码应允许 5 位数字,默认为 5 位数字。
下面是我的 HTML 和 Jquery 代码,它第一次运行良好但之后不行,尝试了很多方法但问题仍然存在。
注意:我必须使用this
关键字,因为我将在验证用户名和密码后添加下一行。
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="/js/jquery.inputmask.js"></script>
</head>
<body>
<div class="register">
<table id="username_tbl">
<tr>
<td>
<input type="text" name="username[]" id="username_1" class="find_username" placeholder="Username" />
</td >
<td>
<input type="text" name="password[]" id="password_1" maxlength="5" class="find_password"/>
</td>
</tr>
</table>
</div>
<script>
$(document).ready(function(){
$(".find_username").blur(function(event){
var id = event.currentTarget.id;
var Row = id.substring(id.indexOf("_")+1);
var username_value = event.currentTarget.value;
if (username_value == '123456'){
$('.find_password').attr('maxlength' , 7);
$(".find_password").keyup(function(){
var pasWord = $(this), val = pasWord.val();
if((pasWord.val().length > 5) && (/\S/)){
pasWord.inputmask("mask", {"mask": "*** ***", "placeholder": ""});
}
});
} else {
$(".find_password").attr('maxlength', 5);
$('.find_password').inputmask("mask", {"mask": "*****", "placeholder": ""});
}
});
});
</script>
</body>