使用asp.net mvc中的数据注释来否定信用卡号RegEx匹配

时间:2018-03-08 06:42:57

标签: asp.net-mvc-3 data-annotations

[RegularExpression(@"^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$",ErrorMessage ="Name cannot contain credit card number")]
[Required(ErrorMessage = "Card holder name is required")]
public string CardHolderName { get; set; }

它按预期检测到信用卡,但我需要它做相反的事情。如果它检测到信用卡上写着“名称不能包含信用卡号码”,我需要它给我一个警告。

1 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式。如果你想做与上述正则表达式相反的事。

^(?!(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$)