2016-11-07 110 views
-3

在表单中我有一个简单的输入文本字段,用户在其中插入标题。html输入文本:禁用完整的大写字母

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

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

我想禁用数字是这样的:

  • LOREM IPSUM DOLOR SIT

使数字是这样的:

  • Lorem存有悲坐
  • Lorem ipsum 16V悲C4坐
  • Lorem存有悲坐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存有16V DOLOR C4坐” 我希望所有的字符转换为小写像这样:

  • LOREM ipsum 16v dolor c4坐

但我想转换成这样:

  • Lorem存有悲16V坐C4

我能做到这一点的验证与HTML5 JavaScript或jQuery的。 如何做到这一点?

-

由于瓦西尔, 不正是我想要的,但它可以显示错误消息,如果标题是全大写的有用的选择。

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; 
}; 

那么如何检查单词,请检查大写单词?

错误的标题,必须返回错误:

  • “卖的iPAD NEW”

  • “卖CITROEN C4 NEW”

+0

可能有帮助 - http ://stackoverflow.com/questions/14106971/forcing-form-text-to-be-lower-case –

回答

-1

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> 
相关问题