【问题标题】:Why Javascript validation is not working in html form?为什么 Javascript 验证不能以 html 形式工作?
【发布时间】:2018-07-24 16:46:37
【问题描述】:

当我尝试用字符填充名称框时,它总是显示“名称只能是字符。”。

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

【问题讨论】:

标签: javascript


【解决方案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">

【讨论】:

  • 对逻辑有什么影响?
【解决方案2】:
var name = document.emp.new_name.value;
if (name.value.search(/[^a-zA-Z]+/) === -1) {
    alert("Name must be in character only.");
    return false;
}

试试这个代码。希望这会奏效。

【讨论】:

  • 嗨,您能否解释一下他的代码中缺少 OP 的内容以及您的代码如何修复它?
  • html for name: Name
  • 看看这个解决方案,有更多关于你的问题的解释。 stackoverflow.com/questions/3532053/…
猜你喜欢
相关资源
最近更新 更多
热门标签