VB.NET中是否有isAlpha函数

时间:2017-10-02 06:37:49

标签: vb.net alpha isnumeric

我有一个变量来保存id

Dim empId as String

因此有效身份证的格式为: 在

//the first character should be a letter [A-Z]
//the rest of the string are digits e.g M2895 would be a valid id

我想检查每个字符,看看它们是否符合正确的ID

所以我来到isNumeric()函数。在VB.NET中是否有类似的功能来检查字符是字符串还是字母字符?

2 个答案:

答案 0 :(得分:2)

您可以使用RegularExpressions而不是手动检查字符串的每个字符:

Dim empId as String = "M2895"
If Regex.IsMatch(empId, "^[A-Z]{1}[0-9]+$") Then
    Console.WriteLine("Is valid ID")
End If

如果您需要一个功能isAlpha,您也可以使用RegularExpressions创建此功能:

Private Function isAlpha(ByVal letterChar As String) As Boolean
    Return Regex.IsMatch(letterChar, "^[A-Z]{1}$")
End Function

完成后,为了支持爱沙尼亚语字母,您可以使用以下内容:

Dim empId as String = "Š2859"
If Regex.IsMatch(empId, "^[^\W\d_]{1}[0-9]+$") Then
    Console.WriteLine("Is valid ID")
End If

答案 1 :(得分:2)

您可以使用适用于所有Unicode字符的函数

Char.IsLetter Method (String, Int32)
指示指定字符串中指定位置的字符是否归类为Unicode字母。

Char.IsDigit Method (Char)
指示指定的Unicode字符是否归类为十进制数字。

所以你最终得到像

这样的验证
var persons = [{ "name":"A", "salary":1200 }, { "name":"B", "salary":"1500" }];