You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写批处理脚本验证6位数字序列含三个5?

6位数字输入验证及含三个5检测的批处理脚本

搞定!我帮你写了一个完全符合需求的批处理脚本,不仅能验证输入是6位纯数字,还能准确统计其中数字5的个数,符合要求才会继续执行,否则给出提示。

@echo off
setlocal enabledelayedexpansion

:Input_Prompt
set "UserInput="
set /p UserInput=请输入一段6位长度的数字序列:

:: 验证输入是否为6位纯数字
echo !UserInput! | findstr /r "^[0-9][0-9][0-9][0-9][0-9][0-9]$" >nul
if errorlevel 1 (
    echo 错误:请输入**恰好6位的纯数字**!
    goto Input_Prompt
)

:: 统计输入中数字5的个数
set "TempInput=!UserInput!"
set "Count=0"
:Count_Loop
if "!TempInput!"=="" goto Count_Done
if "!TempInput:~0,1!"=="5" set /a Count+=1
set "TempInput=!TempInput:~1!"
goto Count_Loop

:Count_Done
if !Count! equ 3 (
    goto Number_Has_Three_5
) else (
    goto Number_Dosent_Have_Three_5
)

:Number_Has_Three_5
echo 成功:输入包含恰好三个5,脚本继续执行...
:: 在这里添加后续需要执行的代码
pause
exit /b

:Number_Dosent_Have_Three_5
echo 错误:输入不包含三个5(当前共!Count!个5),请重新输入!
goto Input_Prompt
脚本功能细节拆解

我把每个关键步骤都做了注释,这里再给你理清楚逻辑:

  • 输入循环提示:用:Input_Prompt标签实现循环,用户输入错误后会回到输入界面,不用重新运行脚本
  • 6位纯数字验证:借助findstr的正则表达式^[0-9][0-9][0-9][0-9][0-9][0-9]$,确保输入是恰好6位的数字,排除字母、符号或长度不对的情况
  • 数字5的计数逻辑:通过循环截取输入的每一位字符,判断是否为5,每匹配一次就把计数器加1
  • 跳转逻辑:计数完成后,判断计数器是否等于3,分别跳转到对应的处理分支
测试示例
  • 输入111555:会进入Number_Has_Three_5分支,提示成功并执行后续代码
  • 输入111155:计数器为2,进入Number_Dosent_Have_Three_5分支,提示错误并回到输入界面
  • 输入abc123:会触发纯数字验证失败,提示重新输入

内容的提问来源于stack exchange,提问作者maximuslotr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:03:15