屏蔽文本代码.任何较短的方式



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

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中的自定义控件。我想知道是否有蚂蚁内置的库或函数可以做到这一点?我不想添加任何依赖项(下载大小)

您所需要做的就是插入一些短划线。。。

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)

最新更新