上一节我们详细讲解了JS中的错误处理机制,本节我们将详细讲解JS中表单验证方法。

情景:在浏览器填写表单时,我们通常会填写用户名、电话号码、密码等信息,一般来说,这些填写信息都有一定的要求。比如电话号码只能是11位,不可能是12位或者是10位;密码会要求是6位以上,包含字母和特殊字符。

必要性:通过JS来规范表单信息,可以减轻服务器压力,提高用户体验和节省带宽。

怎么做:

1. 可以使用HTML内置验证方式:

<!-- 必填字段 -->
<input type="text" required>
<!-- 最小长度验证 -->
<input type="text" minlength="6" maxlength="20">
<!-- 正则表达式验证 -->
<input type="text" pattern="[A-Za-z]{3,}">
<!-- 邮箱验证 -->
<input type="email">
<!-- 网址验证 -->
<input type="url">
<!-- 自定义错误提示 -->
<input type="text" pattern="\d{11}" title="请输入11位手机号码">

2. 充分利用正则表达式:

// 手机号验证
function validatePhone(phone) {
    const phoneRegex = /^1[3-9]\d{9}$/;
    return phoneRegex.test(phone);
}
// 邮箱验证
function validateEmail(email) {
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return emailRegex.test(email);
}
// 密码强度验证
function validatePassword(password) {
    // 至少6位,包含字母和数字
    const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d).{6,}$/;
    return passwordRegex.test(password);
}

总结:通过JS的预处理对表单信息进行首次“筛选”,可以及时反馈信息,实现在提高信息准确性的同时优化了用户体验。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)