首页 文章

html输入文本:禁用完整的大写数字

提问于
浏览
-3

在表单中,我有一个简单的输入文本字段,用户在其中插入 Headers .

<input type="text" name="title_input" id="title_input" value="" />

我不希望用户可以插入一个完整的大写数字 .

我想 disable 这样的数字:

  • LOREM IPSUM DOLOR SIT

想要 enable 这样的数字:

  • Lorem ipsum dolor坐

  • Lorem ipsum 16V dolor C4坐

  • Lorem ipsum dolor坐在Amet

我已经知道将所有文本转换为小写的方法,但不是我想要的 .

<input type="text" onkeyup="this.value=this.value.toLowerCase();" name="title_input" id="title_input" value=""  />

要么

<input type="text" pattern="[a-z]+" title="only lowercase" name="title_input" id="title_input" value=""  />

如果我输入"LOREM IPSUM 16V DOLOR C4 SIT"我想 not 想要将所有字符转换为小写,如下所示:

  • lorem ipsum 16v dolor c4坐

但我想转换成这个:

  • Lorem ipsum 16V dolor C4坐

我可以使用html5 javascript或jquery进行此验证 . 怎么做?

谢谢Vasil,这不是我想要的,但如果 Headers 是完整的大写,它可以是显示错误消息的有用替代方法 .

function validateForm() {
    var titleEl = document.getElementById('title_input');
  var title = titleEl.value;
  var upperLength = 0;
  var Ncount = 0;
  var CharCount = 0;

  for (var i = 0; i < title.length; i++) {
    if( isNaN(title[i]) ){
    upperLength += (title[i] === title[i].toUpperCase() ? 1 : 0);
    }else{ Ncount = Ncount + 1; }
  }

  CharCount = title.length - Ncount;

  if (upperLength === CharCount) {
    alert('Invalid title');
    return false;
  }

  return true;
};

那么话语,那么检查大写单词?

错误的 Headers 必须返回错误:

  • “卖新的iPAD”

  • “出售CITROEN C4 NEW”

1 回答

  • 0

    jsfriddle

    <form onsubmit="return validateForm()">
      <input type="text" value="" id="title_input" />
      <input type="submit"  />
    </form>
    
    
    <script>
    function validateForm() {
        var titleEl = document.getElementById('title_input');
      var title = titleEl.value;
      var upperLength = 0;
    
      for (var i = 0; i < title.length; i++) {
        upperLength += (title[i] === title[i].toUpperCase() ? 1 : 0);
      }
    
      if (upperLength === title.length) {
        alert('Invalid title');
        return false;
      }
    
      return true;
    };
    </script>
    

相关问题