【问题标题】:javascript validations for HTML formHTML表单的javascript验证
【发布时间】:2013-10-09 23:18:22
【问题描述】:

有人帮我在 javacript 验证下面的表单,它应该检查 fname 和 lname 中不应该有数字/数字, stnumber 应该有特定的大小(大小) 状态和密码应该匹配 javascript验证有可能吗????

<form id="user" method="post" action="" onsubmit="return validateForm()">
 <span>First Name:</span>                       
    <input type="text" class="input" id="fname" name="fname" required>
  <span>Last Name</span>
<input type="text" class="input" id="lname" name="lname" required>
  <span>Student Number</span>
<input type="text" class="input" id="stn" name="stn" required>
 <span>Student address</span>
<input type="text" class="input" id="stad" name="stad" required>
 <span>Town/suburb</span>
<input type="text" class="input" id="town" name="town" required>
 <span>State</span>
<select name="state" id="state">
<option selected>--select--</option>
<option>AAA</option>
<option>BBB</option>
    </select>                               
<span>Postal Code</span>
<input type="text" class="input" id="pcode" name="pcode" required>

【问题讨论】:

  • 是的.. 你的 JavaScript 是什么样的?
  • 你所说的 javacript 验证器是什么意思?
  • 函数 validateForm() { var x=document.forms["myForm"]["fname"].value; if (x==null || x=="") { alert("名字必须填写");返回假; } }
  • 我推荐你使用 jquery validate
  • 不,我不应该使用 jquery....我应该只有 javascript

标签: javascript html forms validation


【解决方案1】:

我真的不明白这个问题,但是如果您希望用户输入“特定”尺寸,为什么不直接使用

maxlength="size"

财产?

编辑: Javascript部分

  function isCharKey(evt){
       var charCode = (evt.which) ? evt.which : event.keyCode
       return !(charCode < 31 && (charCode > 48 || charCode < 57));
 }
 var state= document.getElementById("state").value;
 var pcode= document.getElementById("pcode").value;
if (state != pcode) {
    alert("State and Pcode doesn't match");
}

在你的 html 中

 <input type="text" class="input" id="fname" name="fname" required onkeypress="return isCharKey(event);">
 <input type="text" class="input" id="lname" name="lname" required onkeypress="return isCharKey(event);">
 <input type="text" class="input" id="stn" name="stn" required maxlength="10">

应该只输入字符而不是数字

编辑2:

<script type="text/javascript">
function isCharKey(evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    return !(charCode < 31 && (charCode > 48 || charCode < 57));
}
function validateForm() {
    var state= document.getElementById("state").value;
    var pcode= document.getElementById("pcode").value;
    if (state != pcode) {
        alert("State and Pcode doesn't match");
    }   
}</script>

在页面底部写下这个

【讨论】:

  • srry,文本区域电话我只需要 10 个以上的数字,它应该会显示警报....
  • 并且在正常的 fname 和 lname 中它不应该允许我需要条件的数字 fa tht 你能帮助我吗 thnq :)
  • 没有像电话这样的字段吗?您需要发布更多代码
  • srry它的学号
  • 我只是举个例子,,,,,
【解决方案2】:

如果您的项目允许,您可以使用特定的 HTML5 属性(例如 required、min、max 和 pattern)进行 HTML5 验证。查看W3Schools.comhtml5pattern.com的更多信息

如果需要 Javascript,则有大量验证库可供选择,例如 jQuery ValidateParsley,它们完全能够完成您想要实现的目标。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 2013-04-14
  • 1970-01-01
相关资源
最近更新 更多