You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

信用卡卡号开头正则验证需求:寻找匹配MasterCard开头的正则表达式

验证万事达卡卡号开头的正则表达式方案

没问题,我来帮你搞定这个万事达卡卡号开头验证的需求!

根据规则,万事达卡卡号需要以51至55开头,对应的正则表达式其实很简洁:

^5[1-5]

正则拆解说明:

  • ^:锚定字符串的起始位置,确保我们只检查卡号的开头部分,不会误匹配卡号中间的数字段
  • 5:固定匹配第一个数字为5
  • [1-5]:匹配第二个数字是1到5之间的任意值(覆盖51、52、53、54、55这五种开头情况)

实际使用示例(以JavaScript为例):

如果你要在代码里判断用户输入是否符合开头规则,可以这样写:

function checkMasterCardPrefix(cardNumber) {
  // 先过滤掉输入中的非数字字符(比如空格、连字符)
  const cleanedNumber = cardNumber.replace(/\D/g, '');
  const masterCardPrefixRegex = /^5[1-5]/;
  return masterCardPrefixRegex.test(cleanedNumber);
}

// 测试几个用例
console.log(checkMasterCardPrefix("5123456789012345")); // true
console.log(checkMasterCardPrefix("55-9988-7766-5544")); // true(自动过滤分隔符)
console.log(checkMasterCardPrefix("4111111111111111")); // false(Visa卡开头)
console.log(checkMasterCardPrefix("5012345678901234")); // false(第二个数字是0,不符合规则)

额外扩展:

如果需要同时验证卡号的完整长度(万事达卡通常为16位),可以把正则扩展为:

^5[1-5]\d{14}$

这里的\d{14}表示后面必须跟14个数字,加上开头的2位,刚好是16位的完整卡号。

内容的提问来源于stack exchange,提问作者sbtn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:55:11