字符串的asp自定义格式

时间:2019-09-23 20:06:59

标签: asp.net-mvc string

我需要将特定格式应用于模型的字符串,例如:

[DataType(DataType.Text),DisplayFormat(DataFormatString =“ {##-###-###-###-###-###-##-###}”,ApplyFormatInEditMode = true)]

这不是信用卡号,是ID,是字符串。因此问题是如何将任何自定义格式应用于字符串,直接在模型类中优先使用而不是在视图中使用而不是使用js,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式

[az,0-9,AZ] {2} [-] [az,0-9,AZ] {3} [-] [az,0-9,AZ] {3} [-] [az ,0-9,AZ] {3} [-] [az,0-9,AZ] {3} [-] [az,0-9,AZ] {3} [-] [az,0-9, AZ] {2} [-] [az,0-9,AZ] {3}

  • [a-z,0-9,A-Z] {2}在a-z,0-9,A-Z范围内匹配2个字符
  • [-]与-分隔符匹配

然后,您可以执行类似的操作

[RegularExpression(@"[a-z,0-9,A-Z]{2}[-][a-z,0-9,A-Z]{3}[-][a-z,0-9,A-Z]{3}[-][a-z,0-9,A-Z]{3}[-][a-z,0-9,A-Z]{3}[-][a-z,0-9,A-Z]{3}[-][a-z,0-9,A-Z]{2}[-][a-z,0-9,A-Z]{3}")]
public string myVal{get;set;}
  • !#-###-###-###-#$#-###-##-###未通过
  • 12-123-abc-123-s23-122-32-cc2通过
  • aa-bbb-ccc-ddd-eee-fff-gg-hhh通行证
  • 12-345-678-910-111-213-14-156通过
  • 1a-2b3-c4d-5e6-f7g-hij-kl-123通行证
  • 1a-2b3-c4d-5e6-f7g-hij-kl-1!3没有通过

如果您接受数字中的任何单词,则可以使用

\ w {2} [-] \ w {3} [-] \ w {3} [-] \ w {3} [-] \ w {3} [-] \ w {3} [- ] \ w {2} [-] \ w {3}

[RegularExpression(@"\w{2}[-]\w{3}[-]\w{3}[-]\w{3}[-]\w{3}[-]\w{3}[-]\w{2}[-]\w{3}")]
public string myVal{get;set;}