上一篇
2025年8月最新动态
随着Web3.0技术普及,表单验证安全性要求越来越高,根据最新前端安全报告,超过60%的数据泄露源于未经验证的表单输入,今天我们就用最接地气的方式,手把手教你用JavaScript实现三大常见表单校验。
function validatePhone(phone) { const reg = /^1[3-9]\d{9}$/; return reg.test(phone); } // 测试用例 console.log(validatePhone("13812345678")); // true console.log(validatePhone("12812345678")); // false(第二位错误) console.log(validatePhone("138123456")); // false(长度不足)
常见坑点:
\d{11}
简单匹配,会误判"12345678901" function validateEmail(email) { const reg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/; return reg.test(email); } // 测试用例 console.log(validateEmail("user.name+tag@example.com.cn")); // true console.log(validateEmail("user@.com")); // false(域名错误) console.log(validateEmail("user@com")); // false(缺少顶级域名)
进阶技巧:
function validatePostcode(code) { const reg = /^[1-9]\d{5}$/; if (!reg.test(code)) return false; // 可选:校验省份代码(示例仅检查前两位范围) const prefix = parseInt(code.substring(0, 2)); return prefix >= 10 && prefix <= 82; } // 测试用例 console.log(validatePostcode("100000")); // true(北京邮编) console.log(validatePostcode("999999")); // false(无效前缀) console.log(validatePostcode("012345")); // false(首位为0)
特别说明:
12345-6789
) EC1A 1BB
) <form id="myForm"> <input type="text" id="phone" placeholder="手机号"> <input type="text" id="email" placeholder="邮箱"> <input type="text" id="postcode" placeholder="邮编"> <button type="submit">提交</button> </form> <script> document.getElementById('myForm').addEventListener('submit', function(e) { e.preventDefault(); const phone = document.getElementById('phone').value; const email = document.getElementById('email').value; const postcode = document.getElementById('postcode').value; if (!validatePhone(phone)) { alert('手机号格式错误'); return; } if (!validateEmail(email)) { alert('邮箱格式错误'); return; } if (!validatePostcode(postcode)) { alert('邮政编码错误'); return; } alert('验证通过,即将提交表单'); // 实际项目这里写AJAX提交 }); </script>
input
事件) 掌握这些正则技巧,你的表单验证水平已经超过80%的开发者了!下次遇到验证需求,直接把这套模板搬出来用吧~
本文由 鲁逸 于2025-08-02发表在【云服务器提供商】,文中图片由(鲁逸)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/519444.html
发表评论