简体   繁体   English

为什么 Javascript 验证在 html 表单中不起作用?

[英]Why Javascript validation is not working in html form?

When i try name box is fill with character it always show that "Name must be in character only.".当我尝试用字符填充名称框时,它总是显示“名称必须仅在字符中。”。

Here is Javascript code:这是Javascript代码:

function validate_form() {
  if (!(/^[A-Za-z]+$/).test(document.emp.new_name.value)) {
    alert("Name must be in character only.");
    return false;
  }
  if (!(/^\d{10}$/).test(document.emp.new_number.value)) {
    alert("Enter valid mobile number");
    return false;
  }
  if (!(/^[0-9.]+$/).test(document.emp.new_salary.value)) {
    alert("salary must be numeric");
    return false;
  }
  if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/).test(document.emp.new_email.value)) {
    alert("You have entered an invalid email address!")
    return (false);
  }

  alert ("success");
  return true;
}

Because initially it does not have any characters, try adding a check to character length因为最初它没有任何字符,请尝试添加对字符长度的检查

Checkout example结帐示例

 $("#submit").on("click",function(){ var name = $("#name").val(); if (name.length>0 && !(/^[A-Za-z]+$/).test(name)) { alert("Name must be in character only."); return false; } else{ alert("ok"); } })
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="name"><input type="submit" id="submit">

var name = document.emp.new_name.value;
if (name.value.search(/[^a-zA-Z]+/) === -1) {
    alert("Name must be in character only.");
    return false;
}

Try with this code.尝试使用此代码。 Hopefully, this will work.希望这会奏效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM