如何使用Javascript在HTML文本框上设置最小和最大字符长度
我只有GCSE水平,我需要在我的代码文本框只有4个字符。我已经做了一个最大的4,但我需要它有一个最低的4以及。我还让它只接受数字。我在学校没有使用HTML5 这是我的全部代码:如何使用Javascript在HTML文本框上设置最小和最大字符长度,javascript,dreamweaver,Javascript,Dreamweaver,我只有GCSE水平,我需要在我的代码文本框只有4个字符。我已经做了一个最大的4,但我需要它有一个最低的4以及。我还让它只接受数字。我在学校没有使用HTML5 这是我的全部代码: <head> <title>Exam entry</title> <script language="javascript" type="text/javascript"> function validateForm() { var res
<head>
<title>Exam entry</title>
<script language="javascript" type="text/javascript">
function validateForm() {
var result = true;
var msg="";
if (document.ExamEntry.name.value=="") {
msg+="You must enter your name \n";
document.ExamEntry.name.focus();
document.getElementById('name').style.color="red";
result = false;
}
if (document.ExamEntry.subject.value=="") {
msg+="You must enter the subject. \n";
document.ExamEntry.subject.focus();
document.getElementById('subject').style.color="red";
result = false;
}
if (document.ExamEntry.ExamNumber.value=="") {
msg+="You must enter your exam number. \n";
document.ExamEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color="red";
result = false;
}
if(document.ExamEntry.ExamNoLen.value.length <4) {
msg+="Your eaxm nuber must be 4 digits long. \n";
document.ExamEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color="red";
result = false;
}
checkInput(elem){
if(elem.value.length != 4){
alert("This value needs to be 4 characters long!");
elem.value = ""; // Reset the textbox
}
else{
alert("This value is 4 characters long.");
}
}
if(msg==""){
return result;
}
{
alert(msg)
return result;
}
}
</script>
</head>
<body>
<h1>Exam Entry Form</h1>
<form name="ExamEntry" method="post" action="success.html">
<table width="50%" border="0">
<tr>
<td id="name">Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td id="subject">Subject</td>
<td><input type="text" name="subject" /></td>
</tr>
<tr>
<td id="ExamNumber">Exam Number </td>
<td>
<input name="ExamNumber" type="text"
onkeydown="return ( event.ctrlKey || event.altKey
|| (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
|| (95<event.keyCode && event.keyCode<106)
|| (event.keyCode==8) || (event.keyCode==9)
|| (event.keyCode>34 && event.keyCode<40)
|| (event.keyCode==46) )"
maxlength="4" onblur="checkInput(this)" />
</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit" onClick="return validateForm();" /></td>
<td><input type="reset" name="Reset" value="Reset" /></td>
</tr>
</table>
</form>
</body>
报考
函数validateForm(){
var结果=真;
var msg=“”;
if(document.ExamEntry.name.value==“”){
msg+=“您必须输入您的姓名\n”;
document.ExamEntry.name.focus();
document.getElementById('name').style.color=“红色”;
结果=假;
}
if(document.ExamEntry.subject.value==“”){
msg+=“您必须输入主题。\n”;
document.ExamEntry.subject.focus();
document.getElementById('subject').style.color=“red”;
结果=假;
}
if(document.ExamEntry.ExamNumber.value==“”){
msg+=“您必须输入您的考试号码。\n”;
document.ExamEntry.ExamNumber.focus();
document.getElementById('ExamNumber').style.color=“红色”;
结果=假;
}
if(document.ExamEntry.ExamNoLen.value.length
你不能有一个minlength,因为你的用户需要输入1、2和3个字符才能达到4个字符。(除非你应用了某种更高级的输入掩码)。但是你可以在模糊时检查它是否有4个字符长
<input name="ExamNumber" type="text" onblur="checkInput(this)" onkeydown="return ( event.ctrlKey || event.altKey || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) || (95<event.keyCode && event.keyCode<106) || (event.keyCode==8) || (event.keyCode==9) || (event.keyCode>34 && event.keyCode<40) || (event.keyCode==46) )" maxlength="4" />
我也在使用dreamweaver来编辑代码。这是合法的(而且非常简单)代码,如果它不工作,那么这更是一个基本问题(也许你的文本框找不到函数)@user1990084你已经将我给你的函数放在了
validateForm()中
function。把它拿出来。另外-记得在创建函数时添加关键字function。@user1990084进展如何?我做了你说的,它做了我希望它做的。只是将警报消息更改为我需要它说的
function checkInput(elem){
if(elem.value.length != 4){
alert("This value needs to be 4 characters long!");
elem.value = ""; // Reset the textbox
}
else{
alert("This value is 4 characters long.");
}
}