新闻中心
使用 jQuery 验证输入框长度并启用/禁用按钮

本文将介绍如何使用 jQuery 实时监控输入框的长度,并根据输入长度是否满足特定条件(例如,必须为 10 位数字)来动态启用或禁用提交按钮。我们将提供详细的代码示例,并解释关键步骤,帮助你轻松实现此功能。
需求分析
我们的目标是创建一个表单,其中包含一个电话号码输入框和一个提交按钮。要求如下:
- 输入框只能接受数字输入。
- 输入框最多允许输入 10 位数字。
- 当输入框中的数字达到 10 位时,启用提交按钮;否则,禁用提交按钮。
HTML 结构
首先,我们需要创建基本的 HTML 结构。以下是一个使用 Bootstrap 样式的简单表单示例:
<div class="form-group">
<label for="phoneNumber">Phone Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">+ 91</span>
</div>
<input type="number" class="form-control" id="phoneNumber" name="phone_number" maxlength="10" required>
</div>
</div>
<input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">在这个结构中:
- phoneNumber 是输入框的 ID,用于 jQuery 选择器。
- maxlength="10" 限制了输入框的最大长度为 10 个字符。
- disabled 属性使得提交按钮初始状态为禁用。
jQuery 代码实现
接下来,我们使用 jQuery 来实现实时验证和按钮状态切换的逻辑。
秀脸FacePlay
一款集成AI换脸、照片跳舞等多种AI特效玩法的App
124
查看详情
$(document).ready(function() {
$('#phoneNumber').on('input', function() {
var inputValue = $(this).val();
var submitButton = $('#submi
tButton');
// 使用正则表达式检查是否为纯数字
if (!/^\d+$/.test(inputValue)) {
// 如果不是纯数字,则移除最后一个字符
$(this).val(inputValue.slice(0, -1));
return; // 阻止后续执行
}
if (inputValue.length === 10) {
submitButton.prop('disabled', false); // 启用按钮
} else {
submitButton.prop('disabled', true); // 禁用按钮
}
});
});这段代码做了以下几件事:
- $(document).ready(function() { ... });: 确保在 DOM 加载完成后执行代码。
- $('#phoneNumber').on('input', function() { ... });: 监听 phoneNumber 输入框的 input 事件。input 事件在每次输入框内容发生变化时触发。
- var inputValue = $(this).val();: 获取输入框的当前值。
- var submitButton = $('#submitButton');: 获取提交按钮的 jQuery 对象,方便后续操作。
- if (inputValue.length === 10) { ... } else { ... }: 检查输入值的长度是否等于 10。如果是,则使用 submitButton.prop('disabled', false) 启用按钮;否则,使用 submitButton.prop('disabled', true) 禁用按钮。
- /^\d+$/.test(inputValue): 使用正则表达式验证输入值是否为纯数字,如果不是纯数字,则移除最后一个字符,保证输入框只接受数字输入。
完整代码示例
将 HTML 和 jQuery 代码结合起来,得到完整的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Input Validation</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div class="container mt-5">
<form>
<div class="form-group">
<label for="phoneNumber">Phone Number</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">+ 91</span>
</div>
<input type="number" class="form-control" id="phoneNumber" name="phone_number" maxlength="10" required>
</div>
</div>
<input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">
</form>
</div>
<script>
$(document).ready(function() {
$('#phoneNumber').on('input', function() {
var inputValue = $(this).val();
var submitButton = $('#submitButton');
// 使用正则表达式检查是否为纯数字
if (!/^\d+$/.test(inputValue)) {
// 如果不是纯数字,则移除最后一个字符
$(this).val(inputValue.slice(0, -1));
return; // 阻止后续执行
}
if (inputValue.length === 10) {
submitButton.prop('disabled', false); // 启用按钮
} else {
submitButton.prop('disabled', true); // 禁用按钮
}
});
});
</script>
</body>
</html>注意事项
- 正则表达式验证: 使用 /^\d+$/ 正则表达式确保输入框只接受数字输入,提高数据的准确性。
- 用户体验: 实时反馈(启用/禁用按钮)可以提升用户体验,让用户清楚地知道何时可以提交表单。
- 其他验证: 除了长度验证,还可以添加其他验证规则,例如验证是否为空、是否符合特定的数字格式等。
- 浏览器兼容性: 确保代码在各种主流浏览器上都能正常运行。
总结
通过使用 jQuery 监听输入框的 input 事件,我们可以轻松实现实时验证输入长度并动态控制按钮状态的功能。这种方法不仅简单易懂,而且能够提供良好的用户体验。可以根据实际需求修改代码,例如添加更复杂的验证规则或使用不同的 UI 框架。
以上就是使用 jQuery 验证输入框长度并启用/禁用按钮的详细内容,更多请关注其它相关文章!
# 移除
# 日照网络营销推广热线
# 大庆网站建设的步骤
# 恩施网站建设案例
# 台湾seo基础
# 保山网站优化建设代理
# 悉尼营销推广
# 巴南网站建设推广
# 安全狗seo
# 龙华附近网站建设公司
# 山西胡氏荣茶的营销推广
# 在这个
# 是一个
# 显示效果
# 选择器
# 单选框
# css
# 如果不是
# 表单
# 输入框
# red
# .net
# cdn
# ai
# 浏览器
# 正则表达式
# ajax
# bootstrap
# js
# html
# jquery
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
修复二维数组索引越界异常:一维循环到二维坐标的正确映射
vivo云服务网页版登录 怎么登录vivo云服务网页版
漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析
React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性
Centos/Linux 系统下安装 composer 的完整步骤
Win11截图该按哪些键 Win11截屏完整流程解析【教程】
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】
如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式
UC浏览器网页版登录入口官网 电脑版网址入口
漫蛙漫画登录站点 漫蛙2正版漫画快速访问
在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
我的世界官方游戏入口 我的世界官网平台直达链接
蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】
怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法
魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】
QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道
顺丰快递查单号物流信息 顺丰快递小程序查询入口
J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析
c++ dfs和bfs代码 c++深度广度优先搜索算法
优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率
深入理解Go语言中的指针类型:以*string为例
b站怎么删除评论_b站评论管理与删除操作
Golang指针如何与map组合使用_Golang map指针组合实践
学习通在线学习平台 学习通网页版直接进入课程中心
css链接悬停下划线样式如何自定义_使用::after结合content和transition
痛风发作了怎么办? 快速止痛和后期饮食调理
Python:递归比较文件夹内容并找出特定类型文件的差异
HTML空白字符处理机制:渲染、DOM与编码实践
mysql备份恢复性能优化_mysql备份恢复性能优化方法
蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法
Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】
在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明
Win11怎么开启高性能模式_Windows 11电源计划优化设置
PHP中高效并行检查多链接状态的教程
在python-socketio事件处理器中安全访问Flask应用上下文
圆通快递查询实时追踪 圆通物流包裹状态快速查看
绝地鸭卫平a核爆刀流玩法攻略
纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析
一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化
支付宝碰一碰设备是REDMI手机吗 博主拆机辟谣:处理器、内存都不一样
铁路12306的积分有效期是多久_铁路12306积分有效期说明
12306怎么选座位选到安静区_12306选座安静区域选择策略


2025-10-12
浏览次数:次
返回列表
tButton');
// 使用正则表达式检查是否为纯数字
if (!/^\d+$/.test(inputValue)) {
// 如果不是纯数字,则移除最后一个字符
$(this).val(inputValue.slice(0, -1));
return; // 阻止后续执行
}
if (inputValue.length === 10) {
submitButton.prop('disabled', false); // 启用按钮
} else {
submitButton.prop('disabled', true); // 禁用按钮
}
});
});