2013-02-26 75 views
1

我需要把驗證,當用戶進入他應該進入 只數值的數值,但用戶將進入下面的格式認沽驗證批處理腳本

Echo Build Number in the Format 5.1.2.44 
set /p Build="enter Build Number Please : " 

值。如果他把在5.1.2.3值,那麼他需要,以確定它是 numeric..he可以使用的代替值之間的任何字符?/., .(點)

有效實例是5.1.2.3

無效的示例爲5.2.A.3

回答

1

下面是如何驗證分隔符之間的每個值都是數字的示例。

@echo off 
set "xResult=valid" 
for /f "tokens=1,2,3,4 delims=?/.," %%A in ("%Build%") do (
    for /f "tokens=1 delims=1234567890" %%n in ("%%A") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%B") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%C") do set "xResult=invalid" 
    for /f "tokens=1 delims=1234567890" %%n in ("%%D") do set "xResult=invalid" 
) 
echo %xResult% 

這是通過首先由分隔符(?/.,)解析生成串分成四個單獨的值(A-D)和檢查如果每個這些值僅包括的數字(0-9)的。