老师,我的JS有问题,我不想用老师在HTML里面写JS代码的方法,这样验证怎么写呀
来源:4-8 表单验证美化综合案例
李可意
2019-07-17 11:06:36
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .onelist{ margin: 10px 0 5px 12px; } label{ width: 80px; display: inline-block; } input,select{ height: 25px; line-height: 25px; width: 220px; /* 圆角 */ border-radius: 3px; border: 1px solid #e2e2e2; } input[type="submit"]{ width: 150px; height: 30px; line-height: 30px; } input:required,select:required{ background: url(./img/star.jpg) no-repeat 90% center; } /* 必填选项通过验证 */ input:required:valid,select:required:valid{ background: url(./img/right.png) no-repeat 90% center; box-shadow: 0 0 5px green; border-color: green; } /* 不通过验证 */ input:focus:invalid,select:focus:invalid{ background: url(./img/error.png) no-repeat 90% center; box-shadow: 0 0 5px red; border-color: red; outline: 1px solid red; /* 4 个边框的样式 */ } </style> </head> <body> <!-- method="post" 数据传输方法 --> <form action="" class="myform" method="post"> <div class="onelist"> <label for="userName">手机号</label> <input type="text" name="userName" id="userName" placeholder="请输入手机号码" pattern="^1[0-9]{10}$" required> </div> <div class="onelist"> <label for="password">密码</label> <input type="password" name="password" id="password" placeholder="6~20位" pattern="^[a-zA-Z0-9]\w{5,19}$" required onchange="checkpassword()"> </div> <div class="onelist"> <label for="repassword">确认密码</label> <input type="password" name="repassword" id="repassword" placeholder="确认密码" required onchange="checkpassword()"> </div> <div class="onelist"> <label for="repassword">了解方式</label> <select name="konw" required> <option value="">--请选择--</option> <option value="1">搜索引擎</option> <option value="2">朋友圈</option> <option value="3">朋友推广</option> <option value="4">广告投放</option> </select> </div> <div class="ontlist"> <input type="submit" value="提交"> </div> </form> <script> var userName = document.getElementById("userName"); var password = document.getElementById("passwrod"); var repassword = document.getElementById("repassword"); // 手机号验证信息 userName.oninput = function(){ userName.setCustomValidity(""); } userName.oninvalid = function(){ userName.setCustomValidity("请输入正确的手机号!"); } // 密码验证信息 password.oninput = function(){ password.setCustomValidity(""); } password.oninvalid = function(){ password.setCustomValidity("请输入正确的密码!"); } // 确认密码验证信息 function checkpassword(){ if(password.value != repassword.value){ repassword.setCustomValidity("两次密码输入不一致"); } else{ repassword.setCustomValidity(""); } } </script> </body> </html>
1回答
好帮手慕慕子
2019-07-17
同学你好,如下图所示,获取密码输入框元素的password单词拼写错误, 建议修改:
同学如果想要在js中验证输入的规则, 老师这里先给同学举个示例,
同学可以参考上面的代码,先了解一下, 不用纠结代码是什么意思,后面我们会学习正则表达式, 到时候,老师会有详细的讲解,同学自然就明白了。
目前阶段, 主要学习HTML5的内容,推荐同学参考老师的方法哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
相似问题