![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-28 02:16 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,277 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 讨论:用findstr 判断输入的ip是否合法 |
| 可打印版本 3,292 / 36 |
| 第16楼 pooronce | 发表于 2008-05-09 17:06 |
| 中级用户 发帖 250 积分 484 | |
|
它说了是Regular expression,也说了是“快速参考”,所以我觉得好歹不应该只有这一点的。
但可惜一直找不到它具体支持的列表 |
|
| 第17楼 huahua0919 | 发表于 2008-05-09 17:14 |
| 银牌会员 发帖 780 积分 1,608 | |
|
基本就那么多吧
?,/d /w /n /r 很多都没用 |
|
| 第18楼 HAT | 发表于 2008-05-10 01:46 |
| 版主 发帖 5,017 积分 9,023 | |
|
在CU潜水时看到的:
匹配IP地址 \([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\) \(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\) |
|
| 第19楼 joyn | 发表于 2008-05-10 02:42 |
| 中级用户 发帖 105 积分 280 来自 广西 | |
|
findstr这个命令我用的少~~
|
|
| 第20楼 26933062 | 发表于 2008-05-10 11:58 |
| 银牌会员 发帖 879 积分 2,268 | |
|
18楼 HAT 兄弟,能给个完整代码吗?我用你的测试怎么都不对啊??
|
|
| 第21楼 terse | 发表于 2008-05-10 12:19 |
| 银牌会员 发帖 946 积分 2,404 | |
|
这样呢
findstr "^*\.*\.*\.*$" @echo off set /p ip=请输入IP: echo %ip%|findstr "^*\.*\.*\.*$">nul||goto err set ip1=%ip:.= % call:lp %ip1% :lp if "%4"=="" echo ip格式不对&pause&exit echo 正确 pause&exit :err echo ip格式不对&pause&exit [ Last edited by terse on 2008-5-10 at 12:21 PM ] |
|
| 第22楼 slore | 发表于 2008-05-10 12:55 |
| 铂金会员 发帖 2,478 积分 5,212 | |
Originally posted by terse at 2008-5-10 12:19: 256.256.256.256 正确=。= |
|
| 第23楼 slore | 发表于 2008-05-10 13:14 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
@echo off
set /p ip=请输入IP: echo %ip%|findstr "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$">nul||goto err set ip1=%ip:.= % call:lp %ip1% :lp if %1 GEQ 232 echo ip格式不对&pause&exit if %2 GEQ 255 echo ip格式不对&pause&exit if %3 GEQ 255 echo ip格式不对&pause&exit if %4 GEQ 255 echo ip格式不对&pause&exit echo 正确 pause&exit :err echo ip格式不对&pause&exit |
|
| 第24楼 terse | 发表于 2008-05-10 13:21 |
| 银牌会员 发帖 946 积分 2,404 | |
Originally posted by slore at 2008-5-10 13:14: 如果考虑255以上情况 可以简化一下IP标签下 @echo off set /p ip=请输入IP: echo %ip%|findstr "^*\.*\.*\.*$">nul||goto err set ip1=%ip:.= % call:lp %ip1% :lp if "%4"=="" goto err for %%i in (%ip1%) do if %%i gtr 255 goto err echo 正确 pause&exit :err echo ip格式不对&pause&exit [ Last edited by terse on 2008-5-10 at 01:23 PM ] |
|
| 第25楼 dikex | 发表于 2008-05-10 13:24 |
| 高级用户 发帖 366 积分 788 | |
Originally posted by HAT at 2008-5-10 01:46 AM: 测试失败…… 首先应该没有换行…… 将转义字符“\”弄回去后 ({1,3}.{1,3}.{1,3}.{1,3})(({1,3}.){3}{1,3}) 但findstr 貌似不支持 {N} 以及分组,所以这个用不了 |
|
| 第26楼 26933062 | 发表于 2008-05-10 13:26 |
| 银牌会员 发帖 879 积分 2,268 | |
|
就是想直接用findstr就判断出格式是否正确,
写了个自己都看不懂的代码,但却可以达到效果。 |
|
| 第27楼 dikex | 发表于 2008-05-10 13:41 |
| 高级用户 发帖 366 积分 788 | |
|
[0-9]*[0-9]
所匹配的是数字,且至少是1位,可以是2、3……N位 |
|
| 第28楼 26933062 | 发表于 2008-05-10 13:44 |
| 银牌会员 发帖 879 积分 2,268 | |
|
27 楼 没注意楼主要求吧,不需要判断数字的位数,当然能判断更好。
|
|
| 第29楼 FQ | 发表于 2008-05-10 17:01 |
| 社区乞丐 发帖 37 积分 -61 | |
|
新手,请各路大侠指教
[ Last edited by FQ on 2008-5-10 at 10:39 PM ] |
|
| 第30楼 youling126 | 发表于 2008-05-10 18:48 |
| 初级用户 发帖 42 积分 87 | |
|
findstr还不怎么会用,谁懂的发个贴来介绍介绍
|
|
| 上一页 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |