javascript - 检查输入字段是否填写正确(纯javascript)

标签 javascript

我几乎完成了表单验证,但对我来说唯一的痛苦是:

1) 当某些输入字段已填写并在输入框外部单击时,应自行检查输入字段。

2) 当有人将所有输入字段留空并单击发送按钮时。

有人知道我该如何解决这个问题吗?

function validateForm() {
	var name = document.getElementById("name");
	var email = document.getElementById("email");
	var nameValidation = document.getElementById("nameValidation");
	var emailValidation = document.getElementById("emailValidation");
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (name.value.length == "") {
		nameValidation.innerHTML = " Please fill in your name";
		name.focus();
	} else {
		nameValidation.innerHTML = " Right";
	}
	
	if(!filter.test(email.value) || (email.value.length == "")) {
		emailValidation.innerHTML = " Please enter a valid email address";
		email.focus();
	}
	else {
		emailValidation.innerHTML = " Right!";
	}
}
<form action="#" id="form" method="post" name="form">
    <img id="close" src=IMAGE/close.png alt="close-button" onclick="div_hide()"/>
    <h3><b>Application form</b></h3>
    <input id="name" class="application" name="name" placeholder="Name" type="text" maxlength="30" /><span id="nameValidation"></span><br/>
    ><input id="email" class="application" placeholder="Email" type="text" maxlength="254" /><span id="emailValidation"></span>

    <div id="upload-box">
      <input id="upload" class="application upload" type="file"/>
      <input id="submit" class="application apply-button" type="button" onclick="validateForm()" value="Send"/>
    </div>
  </form

最佳答案

<input type="email" required />

工作完成。

关于javascript - 检查输入字段是否填写正确(纯javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40176272/

相关文章:

javascript - 如何将 TS 模块导入或要求到 CommonJS 文件中?

javascript - 为什么 JavaScript 结果总是返回第一个值?

javascript - 用于 html 5 Canvas 平台游戏风格游戏的弹跳物理

javascript - 什么时候可以将管道运算符用于条件参数? - JavaScript

javascript - 在 anchor 中动态设置类不起作用?

javascript - IE11 中的中止 Controller 不起作用。任何方式来支持它

javascript - 如何处理 fetch() 响应并仍然异步工作

javascript - 在包含(文字连接)中使用文字与 Sequelize

javascript - 如何跨多个组件重用 Angular 观察? (为了避免重复请求两次?)

javascript - 从 Ctr+V 事件上传图像文件 (javascript)