批处理判断用户输入格式
发布网友
发布时间:2024-10-23 14:55
我来回答
共3个回答
热心网友
时间:2024-10-25 08:27
好久没玩DOS命令了,写下代码熟悉下.主要利用set字符串截取和finstr命令.将输入字符分段判断.代码我都加了标注,简单测试了下代码,没发现问题.你试试..---------------------------------------------------------------------------@echo off
:loop
set /p "str=请输入:"::判断输入字符是否为10位
if "%str:~9,1%"=="" call :err
if not "%str:~10,1%"=="" call :err::判断前3位是否为纯字母
echo %str:~0,3%|findstr /be "[a-z]*" >nul || call :err::判断4567位是否为全数字
echo %str:~3,4%|findstr /be "[0-9]*" >nul || call :err::判断8位是否为"-"
if not "%str:~7,1%"=="-" call :err::判断最后两位是否为纯数字
echo %str:~-2%|findstr /be "[0-9]*" >nul || call :errecho ok!!!
pause & exit:err
cls & echo 输入格式有误,请重新输入. & goto loop---------------------------------------------------------------------------
热心网友
时间:2024-10-25 08:28
先判断第一个字符是不是字母,是就接着下一步,不是就提示错误;下一步判断第二个字符是不是字母,是就接着下一步,不是就提示错误;以此类推,直到最后一个字符!
热心网友
时间:2024-10-25 08:28
这个很麻烦,批处理没有专门的命令来处理,只能通过自己写子程序来判断。建议使用字符串截取的方式来判断。