为什么Javascript验证不能以html格式运行?

时间:2018-02-14 07:18:35

标签: javascript

当我尝试名字框填充字符时,它总是显示"姓名必须只有字符。"。

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

2 个答案:

答案 0 :(得分:1)

因为最初它没有任何字符,请尝试在字符长度

中添加检查

结帐示例

$("#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">

答案 1 :(得分:0)

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

尝试使用此代码。希望这会奏效。