接受一个额外字符的SSN的正则表达式

时间:2014-10-31 15:56:41

标签: c# regex

我正在寻找社会安全号码,其格式为"###-##-####"。我需要一种方法,也可以允许第一个字符输入"@"

如何添加?我需要它用于蒙面文本框掩码。

2 个答案:

答案 0 :(得分:3)

试试这个正则表达式:

^(@|\d\d\d-\d\d-\d\d\d\d)$

(注意:这是美国格式:###-##-####

^$表示"开始"和"结束"字符串,以便您不能匹配文本中间的项目。

|说"其中一个"。因此它会匹配@或数字。

以下内容将匹配

123-45-6789
@

但这不匹配

234-3333-14234
@123-45-6789

你可以take a demo here

确保在c#中键入时,使用正确的字符转义:

string pattern = @"^(@|\d\d\d-\d\d-\d\d\d\d)$";

答案 1 :(得分:0)

你需要的只是这个(\ d是任何数字,\ d是\ d为了转义为c#和@?意味着它将接受0或1 @)

@?\\d\\d\\d-\\d\\d-\\d\\d\\d\\d