批处理判断用户输入格式

发布网友 发布时间: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

这个很麻烦,批处理没有专门的命令来处理,只能通过自己写子程序来判断。建议使用字符串截取的方式来判断。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com