代码
代码 完整
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>验证码倒计时</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f2f5;
}
.verification-container {
background-color: white;
padding: 2rem;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.input-group {
display: flex;
gap: 10px;
margin-bottom: 1rem;
}
#phoneInput {
flex: 1;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
#verifyCodeInput {
flex: 1;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
#getCodeBtn {
padding: 10px 20px;
background-color: #1677ff;
color: white;
border: none;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s;
}
#getCodeBtn:disabled {
background-color: #cccccc;
cursor: not-allowed;
}
#submitBtn {
width: 100%;
padding: 10px;
background-color: #52c41a;
color: white;
border: none;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s;
}
#submitBtn:hover {
background-color: #4aa919;
}
.message {
margin-top: 1rem;
padding: 10px;
border-radius: 4px;
display: none;
}
.success {
background-color: #f6ffed;
color: #52c41a;
border: 1px solid #b7eb8f;
}
.error {
background-color: #fff2f0;
color: #f5222d;
border: 1px solid #ffccc7;
}
</style>
</head>
<body>
<div class="verification-container">
<div class="input-group">
<input type="tel" id="phoneInput" placeholder="请输入手机号">
</div>
<div class="input-group">
<input type="text" id="verifyCodeInput" placeholder="请输入验证码">
<button id="getCodeBtn">获取验证码</button>
</div>
<button id="submitBtn">提交</button>
<div id="message" class="message"></div>
</div>
<script>
// 获取DOM元素
const phoneInput = document.getElementById('phoneInput');
const verifyCodeInput = document.getElementById('verifyCodeInput');
const getCodeBtn = document.getElementById('getCodeBtn');
const submitBtn = document.getElementById('submitBtn');
const message = document.getElementById('message');
// 倒计时总时长(秒)
const COUNT_DOWN_SECONDS = 60;
let countdownTimer = null;
// 显示消息提示
function showMessage(text, isSuccess = true) {
message.textContent = text;
message.className = isSuccess ? 'message success' : 'message error';
message.style.display = 'block';
// 3秒后自动隐藏消息
setTimeout(() => {
message.style.display = 'none';
}, 3000);
}
// 验证手机号格式
function isValidPhone(phone) {
// 简单的手机号验证正则(以1开头的11位数字)
const phoneRegex = /^1[3-9]\d{9}$/;
return phoneRegex.test(phone);
}
// 开始倒计时
function startCountdown() {
let seconds = COUNT_DOWN_SECONDS;
getCodeBtn.disabled = true;
getCodeBtn.textContent = `${seconds}秒后重新获取`;
countdownTimer = setInterval(() => {
seconds--;
getCodeBtn.textContent = `${seconds}秒后重新获取`;
if (seconds <= 0) {
clearInterval(countdownTimer);
getCodeBtn.disabled = false;
getCodeBtn.textContent = '获取验证码';
}
}, 1000);
}
// 获取验证码按钮点击事件
getCodeBtn.addEventListener('click', () => {
const phone = phoneInput.value.trim();
if (!phone) {
showMessage('请输入手机号', false);
return;
}
if (!isValidPhone(phone)) {
showMessage('请输入有效的手机号', false);
return;
}
// 模拟发送验证码请求
console.log(`向手机号 ${phone} 发送验证码`);
// 实际应用中,这里应该是一个AJAX请求
// 为了演示,使用setTimeout模拟请求延迟
setTimeout(() => {
showMessage('验证码已发送,请注意查收');
startCountdown();
}, 500);
});
// 提交按钮点击事件
submitBtn.addEventListener('click', () => {
const phone = phoneInput.value.trim();
const code = verifyCodeInput.value.trim();
if (!phone || !code) {
showMessage('手机号和验证码不能为空', false);
return;
}
if (!isValidPhone(phone)) {
showMessage('请输入有效的手机号', false);
return;
}
if (code.length !== 6) {
showMessage('请输入6位验证码', false);
return;
}
// 模拟验证验证码
console.log(`验证手机号 ${phone} 的验证码 ${code}`);
// 实际应用中,这里应该是验证验证码的AJAX请求
setTimeout(() => {
showMessage('验证成功!');
// 清空输入框
phoneInput.value = '';
verifyCodeInput.value = '';
// 重置倒计时
if (countdownTimer) {
clearInterval(countdownTimer);
getCodeBtn.disabled = false;
getCodeBtn.textContent = '获取验证码';
}
}, 800);
});
</script>
</body>
</html>
引言:验证码等待时间技术融入生活场景的必然
在酒店自助入住时,输入手机号获取验证码后无需长久等待;在美容机构自助预约服务,验证码快速送达让流程更顺畅;在社区自助终端办理业务,短暂的验证码等待时间不会影响办事节奏…… 这些场景中,验证码等待时间技术虽不显眼,却在悄然优化着人们的生活体验。在当下高效运转的社会,合理的验证码等待时间技术是保障各场景自助服务顺利开展的关键,也是提升用户满意度的重要因素。
酒店场景:验证码等待时间技术保障自助入住高效便捷
酒店自助入住场景中,验证码等待时间技术起着至关重要的作用。旅客在自助终端输入手机号后,若验证码等待时间过长,很容易让本就疲惫的旅客产生烦躁情绪,甚至可能放弃自助入住,转而选择人工服务,这便违背了自助入住提升效率的初衷。而合理的验证码等待时间技术,能让旅客在短时间内收到验证码,快速完成身份验证、房卡领取等流程。这不仅减少了旅客的等待焦虑,也提高了酒店自助入住设备的使用效率,让酒店在高峰期能够快速分流旅客,提升整体运营效率。例如,将验证码等待时间控制在 10 秒以内,能让旅客在连贯的操作中完成入住,增强对酒店服务的好感。
美容行业:验证码等待时间技术提升自助预约体验
美容行业的自助预约服务中,验证码等待时间技术同样不可或缺。上班族利用午休时间预约美容项目时,时间本就紧张,若验证码迟迟未到,会严重影响他们的时间安排,可能导致预约失败。合适的验证码等待时间技术,能确保用户在发起预约请求后,迅速收到验证码并完成验证,顺利锁定服务时间。这不仅满足了消费者对高效服务的需求,也让美容机构的自助预约系统更具吸引力,有助于吸引更多客户使用,提高预约效率,优化资源配置。比如,在美容自助预约平台,将验证码等待时间控制在 5 - 8 秒,能让用户在短时间内完成操作,不耽误后续安排。
社区场景:验证码等待时间技术助力自助服务顺畅开展
社区场景中的自助服务,如缴纳水电费、预约社区活动等,都离不开验证码等待时间技术的支持。社区居民中不乏老年人,他们对技术操作本就不够熟悉,若验证码等待时间过长,可能会让他们对自助终端产生抵触心理。合理的验证码等待时间技术,能让老年人在操作时快速收到验证码,顺利完成各项业务办理。同时,对于上班族而言,在下班回家途中使用社区自助终端时,短暂的验证码等待时间不会占用他们过多时间,让他们能高效地处理生活琐事。这有助于提升社区自助服务的使用率,减轻社区工作人员的压力,让社区服务更加便捷高效。
结论:验证码等待时间技术是各场景自助服务的重要支撑
从酒店自助入住到美容自助预约,再到社区自助服务,验证码等待时间技术虽只是其中的一个小环节,却对整个服务流程的顺畅与否有着重要影响。合理的验证码等待时间技术能保障各场景自助服务的高效开展,提升用户体验,增强用户对自助服务的接受度和满意度。在未来,随着各场景自助服务的不断普及,验证码等待时间技术将发挥更加重要的作用,成为连接用户与自助服务的关键纽带。
阿雪技术观
在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。
Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.