当前位置: 首页 > news >正文

Javascript的form表单校验输入框

以下是HTML代码:

 <form name="myForm" onsubmit="return validateForm()"><label for="name">姓名:</label><input type="text" id="name" name="name"><br><label for="email">电子邮件:</label><input type="email" id="email" name="email"><br><label for="age">年龄:</label><input type="number" id="age" name="age"><br><label for="phone">电话号码:</label><input type="tel" id="phone" name="phone"><br><label for="address">地址:</label><input type="text" id="address" name="address"><br><label for="username">用户名:</label><input type="text" id="username" name="username"><br><input type="submit" value="提交"></form>

以下是js实现:

 function validateForm() {var name = document.forms["myForm"]["name"].value;var email = document.forms["myForm"]["email"].value;var age = document.forms["myForm"]["age"].value;var phone = document.forms["myForm"]["phone"].value;var address = document.forms["myForm"]["address"].value;var username = document.forms["myForm"]["username"].value;if (name == "") {alert("请填写姓名");return false;}if (email == "") {alert("请填写电子邮件");return false;} else {var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;if (!emailPattern.test(email)) {alert("请输入有效的电子邮件地址");return false;}}if (age == "") {alert("请填写年龄");return false;} else {if (isNaN(age) || age < 0 || age > 120) {alert("请输入有效的年龄");return false;}}if (phone == "") {alert("请填写电话号码");return false;} else {var phonePattern = /^\d{11}$/;if (!phonePattern.test(phone)) {alert("请输入有效的电话号码(11位数字)");return false;}}if (address == "") {alert("请填写地址");return false;}if (username == "") {alert("请填写用户名");return false;}return true;}

定义了一个名为validateForm的JavaScript函数,该函数用于验证表单数据。在函数中,首先获取每个输入框的值,然后逐一进行验证。

对于每个输入框,我们使用条件语句来检查其值是否满足特定要求,并在不符合要求时显示警告框并返回false以阻止表单提交。例如,如果姓名字段为空,则显示警告框并返回false。同样地,我们使用正则表达式来验证电子邮件和电话号码的格式,使用比较运算符来验证年龄的范围。

在HTML部分,我们将每个输入框与相应的标签进行关联,并在表单元素上添加了onsubmit事件来调用validateForm函数。如果所有输入框的值都通过验证,将允许表单提交;否则,将阻止表单提交。

http://www.lryc.cn/news/242159.html

相关文章:

  • 大数据-之LibrA数据库系统告警处理(ALM-37003 GTM主备不同步或者GTM主备断连)
  • python每日一题——4移动0
  • CAN实验
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • 微服务实战系列之Nginx
  • 使用rsync从OpenShift的pod复制文件
  • 解决Activiti5.22流程图部署在Windows上正常,但在linux上部署后出现中文变方块的问题
  • EMG肌肉电信号处理合集(三)
  • GitHub桌面版
  • 【广州华锐互动】昆虫3D虚拟动态展示:探索神奇的微观世界
  • 《QT从基础到进阶·三十六》QWidget实现收缩栏的效果
  • 运行软件报错找不到vcruntime140.dll无法继续执行代码怎么办-6个解决方法
  • 从Discord的做法中学习 — 使用Golang进行请求合并
  • 【教3妹学编程-算法题】统计和小于目标的下标对数目
  • OSG粒子系统与阴影-雾效模拟(1)
  • Windows power shell for循环
  • GIT实践与常用命令---回退
  • Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解
  • C现代方法(第23章)笔记——库对数值和字符数据的支持
  • NSGA-II求解微电网多目标优化调度(MATLAB)
  • 7-9 jmu-python-班级人员信息统计
  • Doris分区与分桶(八)
  • mac VScode 添加PHP debug
  • 53.最大子数组和
  • 455.分发饼干
  • 浏览器缓存控制讲解
  • 批量插入SQL 错误 [933] [42000]: ORA-00933: SQL 命令未正确结束
  • 北京数字孪生赋能工业制造,加速推进制造业数字化转型
  • 【NLP】GPT 模型如何工作
  • Linux下安装Foldseek并从蛋白质的PDB结构中获取 3Di Token 和 3Di Embedding