
在处理用户通过文本域批量输入或粘贴手机号码的场景中,经常需要对输入的号码进行格式校验,例如只保留特定位数的纯数字号码,并实时统计有效号码的数量。这不仅能提升用户体验,也能初步保证数据的准确性。本文将提供一个基于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 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号