我是javascript的新手。我有一个需要密码和密码确认的注册表单。到目前为止,我能够正确验证密码是否匹配。但是,我试图在密码上插入最小长度,但它无法正常工作。我的代码出了什么问题?
<HTML>
<div class="form-group">
<label class="sr-only" for="form-password">Password</label>
<input type="password" name="formpassword" required placeholder="Password" class="formpassword form-control" id="form-password" nickname='Password'>
</div>
<div class="form-group">
<label class="sr-only" for="form-password-confirm">Password Confirm</label>
<input type="password" name="formpasswordconfirm" required placeholder="Password Confirm" class="formpassword form-control" id="form-password-confirm" nickname='Password Confirm'>
<div id='passwordmsg' class="id-msg"></div>
</div>
<HTML>
<JS>
$('#form-password').on('change', function(){
pass = $('#form-password').val();
if(pass < 6){
$('#passwordmsg').html('Password must be at least 6 characters');
}else {
$('#passwordmsg').html("");
});
$('#form-password-confirm').on('change', function() {
pass = $('#form-password').val();
pass_confirm = $('#form-password-confirm').val();
if(pass != pass_confirm){
$('#passwordmsg').html("Password mismatched");
}else{
$('#passwordmsg').html("");
}
set_btn_enable();
});
</JS>
答案 0 :(得分:1)
你问的是字符串是否小于6,你应该使用字符串的length属性,而不是
if(pass < 6) ...
应该是
if(pass.length < 6) ...
答案 1 :(得分:1)
你的问题就在这一行:
if(pass < 6){
你想拥有:
if(pass.length < 6)
答案 2 :(得分:0)
.val()
返回指定字段中的值。这是hunter42
或用户输入密码的任何内容,这意味着您正在执行'hunter42' < 6
,这没有任何意义。
[..snip...].val().length;
^^^^^^^
获取返回字段值的LENGTH。
答案 3 :(得分:0)
您需要使用以下命令控制密码的长度:
...
pass = $('#form-password').val();
if(pass.length < 6){
...
答案 4 :(得分:0)
你做了一个小错误。
如果条件检查值的长度,而不是仅提供字符串值。
$('#form-password').on('change', function(){
pass = $('#form-password').val();
if(pass.length < 6){
$('#passwordmsg').html('Password must be at least 6 characters');
}else {
$('#passwordmsg').html("");
});
使用length属性获取字符数(字符串的长度)。 For more refer this link.