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 】
相关推荐:
香港服务器WordPress建站指南:SEO优化与高效部署策略
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何构建满足综合性能需求的优质建站方案?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在景安服务器上快速搭建个人网站?
长沙做网站要多少钱,长沙国安网络怎么样?
如何在Windows环境下新建FTP站点并设置权限?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
音响网站制作视频教程,隆霸音响官方网站?
魔方云NAT建站如何实现端口转发?
Laravel如何创建自定义中间件?(Middleware代码示例)
EditPlus中的正则表达式 实战(2)
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
黑客如何利用漏洞与弱口令入侵网站服务器?
太平洋网站制作公司,网络用语太平洋是什么意思?
网易LOFTER官网链接 老福特网页版登录地址
如何在云服务器上快速搭建个人网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
javascript读取文本节点方法小结
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel如何实现文件上传和存储?(本地与S3配置)
如何在阿里云虚拟服务器快速搭建网站?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
jQuery validate插件功能与用法详解
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
专业商城网站制作公司有哪些,pi商城官网是哪个?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
网站建设整体流程解析,建站其实很容易!
原生JS实现图片轮播切换效果
高性价比服务器租赁——企业级配置与24小时运维服务
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
中山网站制作网页,中山新生登记系统登记流程?
JS实现鼠标移上去显示图片或微信二维码
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
香港服务器网站推广:SEO优化与外贸独立站搭建策略
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
上一篇:Tp框架如何生成二维码
上一篇:Tp框架如何生成二维码

