如何获取有关输入名称长度的字符 - javascript 的警报

How to get alerts for inputed name length of characters - javascript

本文关键字:字符 javascript 何获取 获取 输入      更新时间:2023-09-26

当我在输入字段中输入名称时,我试图在这里做一个简单的脚本,我想得到某些警报,例如: - 如果名称> 20 个字符警报 ="名称大于 20" - 如果名称介于 12 和 20 之间,则警报 = 输入的名称的确切字符数 - 如果名称大于 2 个字符且大于或等于 20 = 提醒该名称 这只是我试图做的一个例子,但我现在只是菜鸟,我只有 1 个月的 JavaScript(HTML 和 CSS),所以如果有人能指出我正确的方向,我将不胜感激。

好的,到目前为止,我有这个:

<form name="myForm" id="form2" onsubmit="return validate()">
Input name: <input type="text" name = "myName" id="t" />
<input type="submit" name="submit" value="submit" />
</form>

    function validate() {
    if(document.myForm.myName.value.length>20){
    alert("your name is too big");
     submitFlag=false;   // im not sure what this line does //
    } else if(document.myForm.myName.value.length=12-20){
         alert("your name is" + document.myForm.myName.value.length + " chars");
             } else if(document.myForm.myName.value.length=0){
        alert("input name")
      }else{
      alert("ok e")
    }
        return submitFlag;
}

如果语句仅在我有两个时才有效,我只收到前 2 个警报,所以我想输入更多其他 if 语句并为其获取警报,我试图自己放更多,但不起作用,我只得到前两个。

扩展@dfsq所说的内容,..您尝试获得:

如果名称介于 12 和 20 之间

这意味着像:

document.myForm.myName.value.length > 12 && document.myForm.myName.value.length <= 20

并使您的代码更加简单易读。并且不要忘记返回 false(您的提交标志):

function validate() {
  var len = document.myForm.myName.value.length;
  if (len > 20)
  {
     alert("your name is too big");
  }
  else if (len > 12 && len <= 20)
  {
     alert("your name is" + len + " chars");
  }
  else if (len == 0)
  {
     alert("input name");
  }
  else
  {
     //in fact it would alert when name between 0 and 12        
     alert("ok e");
  }
 return false;
}

运算符之间存在差异。 =是赋值,=====是比较运算符。您需要后者:

document.myForm.myName.value.length == 0

我们来了:

function validate() {
    var charLength = document.myForm.myName.value.length,
        submitFlag = false; // This flag would be used further to stop the use going ahead from this particular validation
    if (charLength > 20) {
        // length more than 20
        alert("your name is too big");
    } else if (charLength <= 20 && charLength > 12) {
        // length between 20 and 12
        alert("your name is" + charLength + " chars");
    } else if (charLength == 0) {
        // If no input there
        alert("enter name");
    } else {
        // Otherwise in success condition
        alert("ok e");
        submitFlag = true;
    }
    return submitFlag;
}

杰斯菲德尔:http://jsfiddle.net/fcwbkkd7/