2

我觉得我在这里重新发明轮子。我只希望它采用字符串并插入破折号来格式化社会安全号码以供显示:

if (maskedText.Length <= 3)
{
   text = maskedText;
}
else
{
   text = maskedText.Substring(0, 3) + "-";

   if (maskedText.Length <= 5)
   {
      text += maskedText.Substring(3, maskedText.Length - 3);
   }
   else
   {
      text += maskedText.Substring(3, 2) + "-" 
                + maskedText.Substring(5, maskedText.Length - 5);
      if (text.Length > 11) 
         // Trim to 11 chars - this is all for SSN
         text = text.Substring(0, 11); 

   }
}

我这样做是为了在 Silverlight 中进行自定义控制。我想知道是否有 ant 内置库或函数可以做到这一点?我不想添加任何依赖项(下载大小)

4

1 回答 1

0

您需要做的就是插入一些破折号......

text  = maskedText.Insert(5, "-").Insert(3, "-");

编辑:好的,这只是比上面的代码更干净......

    if (maskedText.Length > 9)
        maskedText = maskedText.Substring(0, 9);
    if (maskedText.Length > 5)
        maskedText = maskedText.Insert(5, "-");
    if (maskedText.Length > 3)
        maskedText = maskedText.Insert(3, "-");
    text = maskedText;

如果它是一个数字,你可以这样做......但不幸的是,没有简单的格式语句可以用字符串来做到这一点。

String.Format("{0:000-00-0000}", ssnNumeric)
于 2013-07-17T00:14:26.203 回答