如何通过正则表达式验证mvc中的CNIC号
How to validate CNIC no in mvc by regular expression
我要验证 CNIC 号码(计算出的国民身份证号码)。
我想从客户端获取输入,例如 (12345-1234567-1) 除了破折号之外没有其他字符。我在下面写了正则表达式
[RegularExpression("^[0-9]{5}-[-|]-[0-9]{7}-[-|]-[0-9]{1}")]
public string NICNo { get; set; }
但是当我提交时,它显示了验证错误中的整个正则表达式,如下所示
你不需要[-|]
,使用
^[0-9]{5}-[0-9]{7}-[0-9]$
见regex demo。请注意末尾的 $
需要字符串结尾。
详情
^
- 字符串开头
[0-9]{5}
- 5 位数
-
- 一个连字符
[0-9]{7}
- 7 位数
-
- 一个连字符
[0-9]
- 单个数字(不需要 "saying" {1}
)
$
- 字符串锚结束。
在代码中:
[RegularExpression("^[0-9]{5}-[0-9]{7}-[0-9]$", ErrorMessage = "CNIC No must follow the XXXXX-XXXXXXX-X format!")]
public string NICNo { get; set; }
您也可以在您的代码中使用它(因为字符串需要额外的反斜杠),
[RegularExpression("^\d{5}-\d{7}-\d{1}$")]
^\d{5}-\d{7}-\d{1}$
我要验证 CNIC 号码(计算出的国民身份证号码)。 我想从客户端获取输入,例如 (12345-1234567-1) 除了破折号之外没有其他字符。我在下面写了正则表达式
[RegularExpression("^[0-9]{5}-[-|]-[0-9]{7}-[-|]-[0-9]{1}")]
public string NICNo { get; set; }
但是当我提交时,它显示了验证错误中的整个正则表达式,如下所示
你不需要[-|]
,使用
^[0-9]{5}-[0-9]{7}-[0-9]$
见regex demo。请注意末尾的 $
需要字符串结尾。
详情
^
- 字符串开头[0-9]{5}
- 5 位数-
- 一个连字符[0-9]{7}
- 7 位数-
- 一个连字符[0-9]
- 单个数字(不需要 "saying"{1}
)$
- 字符串锚结束。
在代码中:
[RegularExpression("^[0-9]{5}-[0-9]{7}-[0-9]$", ErrorMessage = "CNIC No must follow the XXXXX-XXXXXXX-X format!")]
public string NICNo { get; set; }
您也可以在您的代码中使用它(因为字符串需要额外的反斜杠),
[RegularExpression("^\d{5}-\d{7}-\d{1}$")]
^\d{5}-\d{7}-\d{1}$