在处理用户通过文本域批量输入或粘贴手机号码的场景中,经常需要对输入的号码进行格式校验,例如只保留特定位数的纯数字号码,并实时统计有效号码的数量。这不仅能提升用户体验,也能初步保证数据的准确性。本文将提供一个基于HTML和JavaScript的解决方案,实现文本域中手机号码的自动筛选与计数功能。
首先,我们需要一个包含文本域和显示号码计数的输入框的HTML表单结构。
<form class="form" method="post" enctype="multipart/form-data"> <div class="form-group row"> <label for="mobileno" class="col-lg-2 col-form-label">手机号码</label> <div class="col-lg-10"> <textarea require type="text" class="form-control required" required cols="10" rows="7" id="mobileno" name="mobileno" placeholder="每行输入一个手机号码"></textarea> </div> </div> <div class="form-group row"> <label class="col-lg-2 control-label" for="numbercount">号码总数</label> <div class="col-lg-10"> <input type="text" class="form-control" readonly id="numbercount" required name="numbercount" value="0"> </div> </div> <div class="form-group row"> <div class="col-lg-12 text-center"> <button id="btn" type="submit" name="submit" class="btn btn-success btn-lg waves-effect waves-light m-r-10">提交</button> </div> </div> </form>
在这个结构中:
核心逻辑在于JavaScript。我们将监听文本域的input事件,当用户输入或粘贴内容时,立即执行筛选和计数操作。
立即学习“Java免费学习笔记(深入)”;
<script> document.addEventListener('DOMContentLoaded', function() { const mobileNumbersTextarea = document.querySelector('#mobileno'); const numberCountInput = document.querySelector('#numbercount'); /** * 处理文本域内容,筛选10位纯数字号码并更新计数 */ function processMobileNumbers() { let rawInput = mobileNumbersTextarea.value; // 按行分割,并过滤掉空行 let lines = rawInput.split('\n').map(line => line.trim()).filter(line => line !== ''); let validNumbers = []; const tenDigitNumberRegex = /^\d{10}$/; // 匹配精确的10位数字 lines.forEach(num => { if (tenDigitNumberRegex.test(num)) { validNumbers.push(num); } }); // 移除重复的有效号码(可选,但推荐) const uniqueValidNumbers = [...new Set(validNumbers)]; // 更新文本域内容,只保留有效号码,每行一个 mobileNumbersTextarea.value = uniqueValidNumbers.join('\n'); // 更新号码计数 numberCountInput.value = uniqueValidNumbers.length; } // 监听 input 事件,实现实时处理 // input 事件在用户输入、删除、粘贴等操作时都会触发 mobileNumbersTextarea.addEventListener('input', processMobileNumbers); // 页面加载时执行一次,以处理初始内容(如果文本域有预设值) processMobileNumbers(); }); </script>
通过以上方法,我们能够高效地管理和验证用户在文本域中输入的手机号码,确保数据的准确性,并提升整体的用户体验。
以上就是JavaScript实现表单文本域手机号的自动筛选与计数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号