关于input的验证,其实从很古老的前端时代开始就一直采用一种比较可靠的方式,就是js操作dom,今天浏览mdn时发现了h5的验证方法,很是兴奋。感觉值得一记。
说在前面的话,着重就是配合h5 + css选择器的配合啦,废话不多说,上代码
1.验证某个input为必填
html:
<form> <div> <label for="uname">Choose a username: </label> <input type="text" id="uname" name="name" required> <span class="validity"></span> </div> <div> <button>Submit</button> </div></form>
css:
div { margin-bottom: 10px; position: relative; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute; content: 'x'; padding-left: 5px; color:red; } input:valid+span:after { position: absolute; content: '✓'; padding-left: 5px; color:green; }
2.输入框的长度限制:就是minlength和maxlength的使用啦。
html:
<form> <div> <label for="uname">Choose a username: </label> <input type="text" id="uname" name="name" required size="10" placeholder="Username" minlength="4" maxlength="8"> <span class="validity"></span> </div> <div> <button>Submit</button> </div></form>
3.使用pattern属性使用正则表达式:
html:
<input type="text" id="uname" name="name" required size="45" pattern="[a-z]{4,8}">
写在最后,以前是自己对h5属性,以及一些css的东西不够重视,所以觉得能用js解决的就用js解决,但是现在看来不是了。h5确实是个伟大的东西,给web开发带来了视频,音频,canvas这些极度能够丰富网页内容的东西。值得学习啊。