首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“除34,37以外的一切”的Regex,没有负前瞻

“除34,37以外的一切”的Regex,没有负前瞻
EN

Stack Overflow用户
提问于 2022-01-10 21:47:19
回答 1查看 130关注 0票数 3

每次被问到这个问题时,答案都是使用负面展望,如:(?!x)

不幸的是,我必须在vb6中执行美国运通的检查,它不支持负面的外观或负面的后视镜。

除了34,37之外,是否可以使用最古老的正则表达式实现来匹配所有东西?

我希望这类事情能起作用:^[1,2,4-9][1-3,5-6,8-9][0-9]{13}$

当然,我已经能够将AmEx与这个表达式相匹配:^3[47][0-9]{13}$,但我还没有找到一种方法来逆转验证规则。

下面是我的验证程序设置:

代码语言:javascript
运行
复制
       <asp:RegularExpressionValidator
            ID="AmExValidator"
            Display="None"
            ControlToValidate="txtCreditCardNumber"
            ValidationExpression="^[1,2,4-9][1-3,5-6,8-9][0-9]{13}$"
            ErrorMessage="American Express cards are not accepted."
            ValidationGroup="Payment"
            runat="server">
        </asp:RegularExpressionValidator>```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-10 21:51:32

您可以使用

代码语言:javascript
运行
复制
^([0-24-9][0-9]|3[0-35689])[0-9]{13}$

regex演示。详细信息

  • ^ -字符串的开始
  • ([0-24-9][0-9]|3[0-35689]) - 00 to 2940 to 99,或3后面跟着47以外的数字。
  • [0-9]{13} -13位数
  • $ -字符串的末端。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70659238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档