在 VBA 中 Like 的纯数字验证方法

在 VBA 中,表达式 (internalDataName Like String(Len(internalDataName), "#")) 是一种简洁的纯数字验证方法,其原理如下:


分步解析

  1. String(Len(internalDataName), "#")
    • 作用:生成一个与 internalDataName 长度相同的字符串,但所有字符均为 #
    • 示例
      • 若 internalDataName = "123" → 生成 "###"
      • 若 internalDataName = "45A" → 生成 "###"(长度相同,但内容无关)
  2. Like 运算符
    • 作用:进行模式匹配,# 在 Like 中代表任意单个数字(0-9)。
    • 规则
      • "123" Like "###" → True(每个字符均为数字)
      • "12A" Like "###" → False(第三个字符非数字)
  3. 整体逻辑
    • 将 internalDataName 与等长的 # 字符串比较:
      • 若所有字符均为数字 → 返回 True
      • 若存在非数字字符 → 返回 False

关键特性

  • 动态长度适配:无需手动指定长度,自动匹配输入字符串长度。
  • 严格性:仅允许 0-9,拒绝空格、符号(如 -.)或字母。
  • 效率:对于短字符串性能优异,长字符串可能需优化(但通常足够)。

示例验证

internalDataName生成模式结果说明
"123""###"True全部为数字
"45A""###"False包含字母 A
"7890""####"True全部为数字
""(空字符串)""True需额外检查空值

注意事项

  1. 空字符串处理
    • 若 internalDataName 为空,String 生成空字符串,Like 返回 True
    • 需额外检查 Len(internalDataName) > 0,避免误判空值为合法数字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值