gpt4 book ai didi

c# - 信用卡验证正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:15 26 4
gpt4 key购买 nike

我在为 Visual C# 中的信用卡号验证程序创建正则表达式时遇到了一些问题。卡片的数字需要用破折号(-)分隔,第一组数字必须是1-9,第二组数字必须是1-3。例如,2204-1232-9746-5558 或 1111-1111-1111-1111。

这是我目前所拥有的:

    Regex card = new Regex(@"^[1-9][0-9]{2}-[1-3]{3}-[0-9]{3}-[0-9]{3}$");
string myCard = txtCard.Text;
Match m = card.Match(myCard);

if(m.Success)
{
MessageBox.Show("The card number entered is vaild");
}
else
{
MessageBox.Show("The card number entered is an invaild card number...");
}

txtCard.Clear();
txtCard.Focus();

我尝试的每个卡号都给我相同的结果,该卡号无效。谁能引导我朝着正确的方向前进?非常感谢!

最佳答案

您的问题出在正则表达式中。应该是

^[1-9][0-9]{3}-[1-3]{4}-[0-9]{4}-[0-9]{4}$

{4} 是 [] 中应该存在的位数。

您还应该注意,第二个 [1-3] 对于信用卡来说是不正常的。至少从我的银行。

我会把上面的改成这个。您可能需要检查速度,以及这是否完全符合您的要求。

^[1-9][0-9]{3}(-[0-9]{4}){3}$

关于c# - 信用卡验证正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com