如何使用 jQuery 在输入框满足 10 位数字时启用按钮


如何使用 jquery 在输入框满足 10 位数字时启用按钮

本文介绍了如何使用 jQuery 实时监测输入框的数字位数,当输入框中的数字达到 10 位时,自动启用提交按钮。通过监听 `keypress` 事件并结合正则表达式进行验证,可以实现这一功能,提升用户体验。文章提供了详细的代码示例和注意事项,帮助开发者快速实现该功能。

在 Web 开发中,经常会遇到需要验证用户输入的情况。例如,在注册或登录时,需要验证手机号码是否符合规范。本文将介绍如何使用 jQuery 监听输入框的输入,并在输入框中的数字达到 10 位时,自动启用提交按钮。

HTML 结构

首先,我们需要一个包含输入框和提交按钮的 HTML 结构。以下是一个简单的示例:

<div class="form-group">
    <label for="exampleInputEmail3">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="pnum" name="phone_number" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" maxlength="10" required>
    </div>
</div>
<input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">

在这个例子中,我们使用了一个 input 元素作为数字输入框,id 为 pnum,并设置了 maxlength="10" 限制输入的最大长度为 10。oninput 属性用于在每次输入时移除非数字字符。 提交按钮的 id 为 submitButton,初始状态为禁用 (disabled)。

jQuery 实现

接下来,我们将使用 jQuery 来实现输入框内容变化的监听和按钮的启用。

Facetune Facetune

一款在线照片和视频编辑工具,允许用户创建AI头像

Facetune 109 查看详情 Facetune
$(document).ready(function() {
  $('#pnum').on('input', function(e) {
    const value = e.target.value;
    var regex = new RegExp("^[0-9]{10}$"); // 正则表达式匹配10位数字
    if (regex.test(value)) {
      $('#submitButton').prop('disabled', false); // 启用提交按钮
    } else {
      $('#submitButton').prop('disabled', true); // 禁用提交按钮
    }
  });
});

这段代码做了以下几件事:

  1. $(document).ready(function() { ... });: 确保在文档加载完成后执行 jQuery 代码。
  2. $('#pnum').on('input', function(e) { ... });: 监听 id 为 pnum 的输入框的 input 事件。input 事件在每次输入框内容发生变化时触发。
  3. const value = e.target.value;: 获取输入框的当前值。
  4. var regex = new RegExp("^[0-9]{10}$");: 创建一个正则表达式,用于匹配 10 位数字。 ^ 表示字符串的开始,[0-9] 表示匹配 0-9 的数字,{10} 表示匹配 10 次,$ 表示字符串的结束。
  5. if (regex.test(value)) { ... }: 使用正则表达式测试输入框的值是否符合 10 位数字的格式。
  6. $('#submitButton').prop('disabled', false);: 如果输入框的值符合 10 位数字的格式,则移除 submitButton 按钮的 disabled 属性,启用按钮。
  7. $('#submitButton').prop('disabled', true);: 否则,添加 disabled 属性,禁用按钮。

完整代码示例

将 HTML 结构和 jQuery 代码结合起来,得到完整的代码示例:

<!DOCTYPE html>
<html>
<head>
    <title>Enable Button on 10 Digits Input</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <div class="container">
        <div class="form-group">
            <label for="exampleInputEmail3">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="pnum" name="phone_number" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" maxlength="10" required>
            </div>
        </div>
        <input type="submit" name="submit" disabled id="submitButton" value="Submit" class="btn btn-primary mr-2">
    </div>

    <script>
        $(document).ready(function() {
            $('#pnum').on('input', function(e) {
                const value = e.target.value;
                var regex = new RegExp("^[0-9]{10}$");
                if (regex.test(value)) {
                    $('#submitButton').prop('disabled', false);
                } else {
                    $('#submitButton').prop('disabled', true);
                }
            });
        });
    </script>
</body>
</html>

注意事项

  • 确保引入 jQuery 库。
  • 根据实际情况修改 HTML 结构和 jQuery 选择器。
  • 可以使用不同的正则表达式来匹配不同的输入格式。
  • 如果需要支持复制粘贴,可以同时监听 paste 事件。
  • 可以使用 trim() 方法去除输入框值两端的空格,避免空格影响验证结果。

总结

本文介绍了如何使用 jQuery 监听输入框的输入,并在输入框中的数字达到 10 位时,自动启用提交按钮。通过监听 input 事件并结合正则表达式进行验证,可以实现这一功能,提升用户体验。这种方法可以应用于各种需要验证用户输入的场景,例如注册、登录、表单提交等。记住,要根据实际需求调整代码,并注意一些细节问题,例如引入 jQuery 库、修改选择器、支持复制粘贴等。

以上就是如何使用 jQuery 在输入框满足 10 位数字时启用按钮的详细内容,更多请关注其它相关文章!


# css  # 这一  # seo上词皆信  # 孟州seo快速排名  # 深泽银联关键词排名含义  # 开封seo优化工具  # 岭南社团网站建设方案  # 宁波网站优化哪家强  # 江干区网络推广网站  # 文案馆推广营销  # 乳山seo优化平台  # 怎么做网站推广流量  # 可以使用  # 并在  # 两种  # 框中  # 选择器  # 表单  # 如何使用  # 输入框  # .net  # 表单提交  # cdn  # ai  # 正则表达式  # ajax  # git  # bootstrap  # js  # html  # jquery 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 作业帮网页版不用下载入口 在线问老师快速答疑  Lar*el Dusk 测试中管理浏览器权限:以剪贴板访问为例  嘴唇干裂起皮怎么办 唇部护理与预防干裂的方法【详解】  抖音网页版地址直接进入_抖音网页版在线观看入口  C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别  Win10如何查看已安装的更新补丁 Win10卸载指定更新教程【教程】  铁拳8在线玩 铁拳8在线秒玩入口  《海贝音乐》均衡器设置方法  《火影忍者:木叶高手》快速升级攻略  RxJS中如何高效地在一个函数内处理和合并多个数据集合  漫蛙官网(首页入口)_漫蛙漫画稳定访问教程分享  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  重返未来:1999卡戎全方位攻略  J*aScript装饰器_元编程实战  苹果iPhone14ProMax如何新建AppleID_iPhone14ProMax新建AppleID具体流程  如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计  手机自动关机是怎么回事?如何修复?手机异常关机的原因排查与修复技巧  Flash AS3.0简易相册制作  如何编写一个符合 composer 规范的 post-install-cmd 脚本?  word怎么将图片设置为页面背景并不影响打印_Word图片背景设置方法  Mac hosts文件在哪里_Mac修改hosts文件详细教程  申通快递查询 申通物流快递单实时查询入口  iPhone17Pro如何连接蓝牙耳机_iPhone17Pro蓝牙设备配对与连接方法介绍  大熊猫抓取竹子的“大拇指”其实是什么?蚂蚁庄园课堂今天答案最新11月30日  德邦快递会员怎么开通  Win11怎么开启HDR_Windows 11显示器画质增强设置  我居然低估了 DeepSeek,这次更新它做到了这些!  《爱笔思画x》涂色教程  智慧团建活动报名入口 智慧团建活动报名入口手机端官网​  Symfony路由参数转换器:实体存在性验证与错误处理策略  汽水音乐车机版 汽水音乐车机版官方入口  C++如何实现单例模式_C++线程安全的单例模式写法  Python对象引用与属性赋值:理解链表中的行为  视频号视频怎么免费保存到相册?保存到相册需要注意什么?  《植物大战僵尸3》火龙草作用介绍  向往的生活小游戏启动处_向往的生活小游戏立即启动  热血江湖归来医师加点攻略  快手缓存清理方法  4399小游戏下装链接 4399小游戏下载链接入口  Fedora怎么安装 Fedora Workstation安装步骤  《咸鱼之王》新版孙坚技能解析  抖音赚钱快速入门_新手必看的抖音赚钱步骤  鲁班大师乓乓皮肤获取方法  高德地图怎么查看未来行程规划_高德地图未来行程规划查看方法  Flexbox布局:实现粘性导航与底部页脚的完美结合  Win11如何分屏操作_Win11多窗口分屏技巧  PDF文件去水印平台入口 PDF水印删除网址  Go反射进阶:访问内嵌结构体中的被遮蔽方法  TikTok搜索结果不显示怎么办 TikTok搜索刷新与优化方法  精通VS Code多光标编辑以实现闪电般快速的修改 

 2025-10-12

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.