【发布时间】:2014-01-16 21:13:44
【问题描述】:
如果我有一个文本并且我只想允许用户输入 5 到 10 个字符长的文本,我该如何使用 javascipt 来做到这一点?
我曾尝试使用 mix 和 max 函数,但它们仅适用于数字数据。
【问题讨论】:
标签: string textbox character max min
如果我有一个文本并且我只想允许用户输入 5 到 10 个字符长的文本,我该如何使用 javascipt 来做到这一点?
我曾尝试使用 mix 和 max 函数,但它们仅适用于数字数据。
【问题讨论】:
标签: string textbox character max min
你可以这样做:
`
function checkLength(){
var textbox = document.getElementById("textbox");
if(textbox.value.length <= 10 && textbox.value.length >= 5){
alert("success");
}
else{
alert("make sure the input is between 5-10 characters long")
}
}
</script>
<input type="text" id="textbox"></input>
<input type="submit" name="textboxSubmit" onclick="checkLength()" />
`
【讨论】:
您需要为输入字段使用 maxlength 属性,应该这样做:
<input name="myTextInput" type="text" maxlength="5"></input>
【讨论】:
您可以使用“maxlength”属性来禁止超过 x 个字符并使用 javascript 进行验证以获取最小长度。
看这个例子:http://jsfiddle.net/nZ37J/
HTML
<form id="form_elem" action="/sdas" method="post">
<input type="text" id="example" maxlength="10"></input>
<span id="error_msg" style="color:red"></span>
<input type="button" id="validate" value="validate"></input>
</form>
Javascript:
$("#validate").click(function(){
var inputStr = $("#example").val();
if(inputStr.length<5)
$("#error_msg").html("enter atleast 5 chars in the input box");
else
$("#form_elem").submit();
})
【讨论】:
我对上面的示例做了一些混合,试图使其尽可能简单并避免不必要的警报。 脚本:
function checkLength(){
var textbox = document.getElementById("comment");
if(textbox.value.length <= 500 && textbox.value.length >= 5){
return true;
}
else{
alert("Your comment is too short, please write more.");
return false;
}
}
表单字段中的代码为:onsubmit="return checkLength();">
以及表单本身的文本区域:
<label for="comment">*Comment:</label>
<textarea name="comment" id="comment" rows="4" cols="40" required="required"></textarea>
希望这会有所帮助!
【讨论】:
<input name="myTextInput" type="text" minlength="5" maxlength="10"></input>
如果您不想在 js 上遇到麻烦,这会解决问题。
【讨论】: