找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: 随风

[出题]批处理限制输入只能为字母且个数在3-10之间

[复制链接]
 楼主| 发表于 2009-3-27 23:21:40 | 显示全部楼层

回复 15楼 batcher 的帖子

汗!我14楼的回复是对12楼的,不是说你啊。。
发表于 2009-3-27 23:41:14 | 显示全部楼层
好像要用 findstr 处理特殊字符,只有用 7 楼的方法(生成临时文件)
 楼主| 发表于 2009-3-27 23:48:49 | 显示全部楼层

回复 17楼 的帖子

为什么不认真看看回帖呢?
发表于 2009-3-27 23:52:33 | 显示全部楼层

回复 18楼 的帖子

看了。试了会出错。要不你把完整代码写下,我不信不会出错...
 楼主| 发表于 2009-3-27 23:53:38 | 显示全部楼层

回复 19楼 的帖子

你所说的“特殊字符”是指什么? off 吗?
发表于 2009-3-27 23:55:06 | 显示全部楼层

回复 20楼 的帖子

他说的可能是用户输入的重定向符号、双引号等特殊字符吧
发表于 2009-3-27 23:55:18 | 显示全部楼层

回复 20楼 的帖子

除了 off 还包括 ^ > & "
发表于 2009-3-27 23:56:54 | 显示全部楼层
  1. @set /p s=Plz input:
  2. @mshta javascript:alert(/^^[a-z]{3,10}$/i.test("%s%"));close()
复制代码
 楼主| 发表于 2009-3-27 23:57:40 | 显示全部楼层
特殊字符 是cmd 永远的痛,所以在不是明确要处理的情况下,一般是默认没有特殊字符的,
处理 off 的方法,10楼以有明确代码。
发表于 2009-3-28 00:03:45 | 显示全部楼层
没考虑特殊字符:
  1. @echo off
  2. set /p input=请输入:
  3. echo.%input%>1.temp
  4. for /r %%a in (*.temp) do set /a a=%%~za-2
  5. if %a% lss 3 echo 输入字符少于3个&goto :end
  6. if %a% gtr 10 echo 输入字符多于10个&goto :end
  7. echo.%input%|findstr "[^a-z]">nul&&echo 输入字符中有非字母字符&&goto end
  8. echo 输入字符符合要求
  9. :end
  10. del /q 1.temp&pause>nul
复制代码

[ 本帖最后由 batman 于 2009-3-28 00:10 编辑 ]

评分

参与人数 1PB +5 收起 理由
随风 + 5 不错!

查看全部评分

 楼主| 发表于 2009-3-28 00:06:22 | 显示全部楼层
通过文件大小来判断字符数,果然比较新颖。echo %input% 为什么不写成echo.%input%呢?
发表于 2009-3-28 00:10:09 | 显示全部楼层
所言即是,已修改
发表于 2009-3-28 00:17:53 | 显示全部楼层

回复 25楼 的帖子

for /r %%a in (*.temp) do set /a a=%%~za-2

可以换成:

for %%a in (1.temp) do set /a a=%%~za-2

-----------

findstr "[^a-z]" 没忽略大小写......不过都是鸡毛蒜皮的事......
发表于 2009-3-28 00:17:58 | 显示全部楼层

回复 25楼 的帖子

for /r 的用意何在?
与直接for相比,其优势在哪里?

汗水,28楼和29楼都是2009-3-28 00:17,我跑到tireless兄后面去了,呵呵。
发表于 2009-3-28 00:22:06 | 显示全部楼层

回复 28楼 的帖子

这里是不需要使用/i来忽略大小写的,正则表达式足矣。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:23 , Processed in 0.020089 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表