新闻中心

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

2025-10-12
浏览次数:
返回列表

如何使用 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 来实现输入框内容变化的监听和按钮的启用。

秀脸FacePlay 秀脸FacePlay

一款集成AI换脸、照片跳舞等多种AI特效玩法的App

秀脸FacePlay 124 查看详情 秀脸FacePlay
$(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 位数字时启用按钮的详细内容,更多请关注其它相关文章!


# 这一  # 黄岛seo招聘  # 短视频seo系列  # 微易seo  # 养殖行业seo优化  # 建阳区公司seo报价  # 合肥网站推广贵不贵  # 网站推广营销费用怎么算  # 网站建设合同制老师  # 安溪网站建设地址  # 常熟外贸商城网站建设  # 可以使用  # 并在  # 单选框  # 框中  # 选择器  # css  # 如何使用  # 表单  # 输入框  # .net  # 表单提交  # cdn  # ai  # 正则表达式  # ajax  # git  # bootstrap  # js  # html  # jquery 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 铃兰之剑为这和平的世界希里技能组及加点推荐  J*aScript数组对象转换:按指定键分组与值收集  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  J*a 递归快速排序中静态变量的状态管理与陷阱  《GTA6》开发画面疑似泄露!这次可不是AI了  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略  Golang如何优雅处理error_Golang error处理最佳实践总结  照顾宝贝2小游戏点击立即在线玩  Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突  今日头条怎么同步内容到抖音_今日头条内容同步到抖音教程  Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值  sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程  C++如何检测键盘输入_C++ _kbhit与_getch函数非阻塞输入  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  Log4j Console Appender性能瓶颈与高并发优化策略  多闪网页版在线观看免费入口_多闪官网访问入口  Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明  Tabulator表格日期时间排序问题及自定义解决方案  Win11文件资源管理器卡顿怎么修 Win11重置资源管理器进程优化响应速度【修复方法】  c++如何使用chrono库处理时间_c++标准库时间与日期操作  抖音网页版怎么|直播|_抖音网页版开播操作指南  css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明  单12V-2&#215;6实现为RTX 5090供电750W!甚至都没敢跑分  如何将HTML表格多行数据保存到Google Sheet  2026春节假期票务安排_2026春节放假购票指南  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  c++中的std::basic_string的SSO优化_c++短字符串优化深度解析  html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】  AO3官方可用镜像 Archive of Our Own网页版最新入口  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  QQ邮箱官方网页版登录 QQ邮箱个人邮箱快速访问  LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置  《主播少女的秘密账号迷宫》首支宣传片  夸克AO3官网入口_AO3镜像网站2025推荐  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】  印象笔记如何设提醒任务防漏执行_印象笔记设提醒任务防漏执行【任务提醒】  冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接  Go Martini框架:动态服务解码后的图片内容  在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验  html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  内存检查:在VS Code中调试C++时的内存视图  淘宝网网页版登录入口 淘宝官方网页版快捷登录  实现全屏滚动与导航点:专业教程  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页 

搜索