JavaScript表单验证完美代码
发布时间 - 2026-01-10 23:22:29 点击率:次用原生JS写一个简单的表单验证

首先,是html部分
<div class="divAll">
<div id="titles">新用户注册</div>
<div id="contents">
<h3>基本信息</h3>
<hr width="95%" color="#f2f2f2"/>
<form action="#" onSubmit="return checkForm()">
<div id="form-itemGroup">
<label for="userName">用户名:</label>
<input type="text" id="userName" class="userName" onBlur="checkUserName()" oninput="checkUserName()">
<span class="default" id="nameErr">请输入至少3位的用户名</span>
</div>
<div id="form-itemGroup">
<label for="userPasword">密码:</label>
<input type="password" id="userPasword" class="userName" onBlur="checkPassword()" oninput="checkPassword()">
<span class="default" id="passwordErr">请输入4到8位的密码</span>
</div>
<div id="form-itemGroup">
<label for="userConfirmPasword">确认密码:</label>
<input type="password" id="userConfirmPasword" class="userName" onBlur="ConfirmPassword()" oninput="ConfirmPassword()">
<span class="default" id="conPasswordErr">请再输入一遍密码</span>
</div>
<div id="form-itemGroup">
<label for="userPhone">手机号码:</label>
<input type="text" id="userPhone" class="userName" onBlur="checkPhone()" oninput="checkPhone()">
<span class="default" id="phoneErr">请输入11位手机号码</span>
</div>
<div>
<button type="submit" class="divBtn">注册</button>
</div>
</form>
</div>
</div>
接着,为其加上CSS样式
<style type="text/css">
.divAll{
width:800px;
font-family:'黑体';
margin:50px auto;
}
#titles{
font-weight:bold;
font-size:18px;
height:50px;
line-height:50px;
background:#FFF9F3;
text-align:center;
border:1px solid #CCC;;
}
#contents{
margin-top:20px;
background:#FFF9F3;
border:1px solid #CCC;;
}
#form-itemGroup{
padding:10px;
}
#form-itemGroup label{
display:inline-block;
width:100px;
height:32px;
line-height:32px;
color:#666;
text-align:right;
}
#form-itemGroup .userName{
width:200px;
height:40px;
line-height:40px;
border:1px solid #CCC;
}
#form-itemGroup .default{
width:200px;
height:32px;
line-height:32px;
color:#999;
}
#form-itemGroup .error{
height:32px;
line-height:32px;
color:#F00;
}
#form-itemGroup .success{
height:32px;
line-height:32px;
color:#096;
}
.divBtn{
margin-top:20px;
margin-left:200px;
width:100px;
height:32px;
line-height:32px;
background-color:#F93;
margin-bottom:10px;
color:#ffffff;
font-weight:bold;
border:none;
}
</style>
最后是JS部分
<script type="text/javascript">
function checkForm(){
var nametip = checkUserName();
var passtip = checkPassword();
var conpasstip = ConfirmPassword();
var phonetip = checkPhone();
return nametip && passtip && conpasstip && phonetip;
}
//验证用户名
function checkUserName(){
var username = document.getElementById('userName');
var errname = document.getElementById('nameErr');
var pattern = /^\w{3,}$/; //用户名格式正则表达式:用户名要至少三位
if(username.value.length == 0){
errname.innerHTML="用户名不能为空"
errname.className="error"
return false;
}
if(!pattern.test(username.value)){
errname.innerHTML="用户名不合规范"
errname.className="error"
return false;
}
else{
errname.innerHTML="OK"
errname.className="success";
return true;
}
}
//验证密码
function checkPassword(){
var userpasswd = document.getElementById('userPasword');
var errPasswd = document.getElementById('passwordErr');
var pattern = /^\w{4,8}$/; //密码要在4-8位
if(!pattern.test(userpasswd.value)){
errPasswd.innerHTML="密码不合规范"
errPasswd.className="error"
return false;
}
else{
errPasswd.innerHTML="OK"
errPasswd.className="success";
return true;
}
}
//确认密码
function ConfirmPassword(){
var userpasswd = document.getElementById('userPasword');
var userConPassword = document.getElementById('userConfirmPasword');
var errConPasswd = document.getElementById('conPasswordErr');
if((userpasswd.value)!=(userConPassword.value) || userConPassword.value.length == 0){
errConPasswd.innerHTML="上下密码不一致"
errConPasswd.className="error"
return false;
}
else{
errConPasswd.innerHTML="OK"
errConPasswd.className="success";
return true;
}
}
//验证手机号
function checkPhone(){
var userphone = document.getElementById('userPhone');
var phonrErr = document.getElementById('phoneErr');
var pattern = /^1[34578]\d{9}$/; //验证手机号正则表达式
if(!pattern.test(userphone.value)){
phonrErr.innerHTML="手机号码不合规范"
phonrErr.className="error"
return false;
}
else{
phonrErr.innerHTML="OK"
phonrErr.className="success";
return true;
}
}
</script>
好了,打开浏览器测试一下吧
填写数据,可以!
以上所述是小编给大家介绍的JavaScript表单验证完美代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js表单验证代码
# jquery validate.js表单验证的基本用法入门
# js 常用正则表达式表单验证代码
# JavaScript 表单验证正则表达式大全[推荐]
# AngularJS实现表单验证
# javascript制作的简单注册模块表单验证
# js正则表达式注册页面表单验证
# jquery表单验证插件(jquery.validate.js)的3种使用方式
# JavaScript表单验证实例之验证表单项是否为空
# AngularJS使用ngMessages进行表单验证
# JavaScript实现简单表单验证案例
# 请输入
# 表单
# 小编
# 好了
# 在此
# 要在
# 一遍
# 给大家
# 正则表达式
# 为其
# 所述
# 给我留言
# 新用户注册
# 感谢大家
# 为空
# 疑问请
# 有任何
# 打开浏览器
# userConfirmPasword
# passwordErr
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
免费网站制作appp,免费制作app哪个平台好?
JavaScript如何实现错误处理_try...catch如何捕获异常?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Laravel Docker环境搭建教程_Laravel Sail使用指南
Laravel distinct去重查询_Laravel Eloquent去重方法
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
javascript如何操作浏览器历史记录_怎样实现无刷新导航
简单实现Android文件上传
如何快速上传自定义模板至建站之星?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
企业网站制作这些问题要关注
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何快速搭建自助建站会员专属系统?
如何快速搭建安全的FTP站点?
Swift中循环语句中的转移语句 break 和 continue
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Python自动化办公教程_ExcelWordPDF批量处理案例
如何在Tomcat中配置并部署网站项目?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
如何选择可靠的免备案建站服务器?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
如何在宝塔面板创建新站点?
如何自定义建站之星模板颜色并下载新样式?
想要更高端的建设网站,这些原则一定要坚持!
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何快速生成橙子建站落地页链接?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
如何撰写建站申请书?关键要点有哪些?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何快速生成专业多端适配建站电话?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
网站建设保证美观性,需要考虑的几点问题!
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
jQuery 常见小例汇总
javascript中的try catch异常捕获机制用法分析
如何用AI帮你把自己的生活经历写成一个有趣的故事?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
上一篇:Tp框架如何生成二维码
上一篇:Tp框架如何生成二维码

