如何基于keyup对单词进行计数

时间:2018-09-07 08:13:21

标签: javascript jquery

我想根据关键字对单词进行计数,如果单词<最小单词

则显示警告

这是我尝试的

<script type="text/javascript">
$('#submit').on('click', function(){
  checkPassword();
       var password = $("#password").val();
       var confirmpassword = $("#konfpassword").val();
       var email = document.getElementById("display1");
       var username = document.getElementById("display2");
       var minword = 7;
       if(password !== confirmpassword){
         alert('Password Tidak Sama!');
           return false;
       } if (email.style.display !== "none") {
               alert('Email Sudah Digunakan!');
            return false;
        } if (username.style.display !== "none") {
               alert('Username Sudah Digunakan!');
            return false;
        } 
    });

function checkPassword(){
  var minword = 7;
  if (minword > Number($('#password').val().length)){
    alert('Password Terlalu Pendek!');
    return false;
  }
}
</script>

我只想在单击提交和密码短短后再单击最小字词后显示警报。

4 个答案:

答案 0 :(得分:2)

像您一样混合jQuery和JavaScript并不是一个好主意。

您可以创建一个函数,以便可以在来自多个元素的单独事件中调用该函数。我也更喜欢input而不是keyup

$('#submit').on('click', function(event){
   checkPassword(event);
});
$('#password').on('input', function () {
  //checkPassword();
});

function checkPassword(e){
  var minword = 7;
  if (minword > Number($('#password').val().length)){
    alert('Password Terlalu Pendek!');
    e.preventDefault();
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="password" id="password"/>
<button type="submit" id="submit">Submit</button>
</form>

答案 1 :(得分:1)

可以。试试吧。

var minWord = 7;
var $password = $('#password');

$('#submit').click(function(e){
    if(!checkValid()) {
        e.preventDefault(); // this is stopping submit!
        e.stopPropagation(); // this is stopping bubbling
    }
});

$password.keyup(function () {
    checkValid();
});

function checkValid() {
    if (this.value.length < minWord) {
        alert('Password Terlalu Pendek!');
        return false;
    }
    return true;
}

答案 2 :(得分:0)

在“提交单击事件”功能中编写密码键入事件无法调用2个事件,因此请创建单独的事件和单个功能

 var minword = 7;
$("#password").keyup(function (event) {
     CheckPasswordCount();  
});
$('#submit').on('click', function(){     
     CheckPasswordCount(); 
});

function CheckPasswordCount()
{
   if(minword > $('#password').val().length)
   {
      alert('Password Terlalu Pendek!');
   }
}

答案 3 :(得分:0)

您可以使用它。

<input type="text" oninput="get_len($(this).val())" placeholder="Write Something...">

<div id="alert_msg"></div>

 function get_len(input){
  var min_val = 7;
  if(input.length < min_val){
      $("#alert_msg").text('Oops!');
  }
  else
  {
  $("#alert_msg").text('ok');
  }
}