2017-03-06 166 views
0

我想驗證xxxxxxxxxV這個數字。我使用這個代碼。它不起作用。如何檢查網卡是否有效?

Public Function validateNIC(nicnumber) As Boolean 
    Dim nic As New Regex("/^[0-9]{9}[vVxX]$/") 
    If nic.IsMatch(nicnumber) Then 
     Return True 
    Else 
     Return False 
    End If 
End Function 
+0

什麼是「NIC」? – Dai

+0

@戴:似乎是在斯里蘭卡使用的:https://en.m.wikipedia.org/wiki/National_identity_card_(Sri_Lanka) –

+0

是的!它用在斯里蘭卡 – sanjeewa

回答

2

.NET中的正則表達式不應該被斜槓包圍。刪除它們,它應該工作。

Dim nic As New Regex("^[0-9]{9}[vVxX]$") 
+0

它的作品!!!!!謝謝 !!!!!! – sanjeewa

2
  • .NET正則表達式不使用/作爲分隔符。你直接將它們表達爲字符串。
  • If ... Return語法冗長,可以簡化
  • 可以緩存在靜態(Shared)領域的Regex實例獲得更好的性能,還可以指定RegexOptions.Compiled如果您正則表達式經常評估
  • 您應符合.NET命名約定和指定類型爲nicnumber參數

Private Shared nicRegex As New Regex("^[0-9]{9}[vVxX]$", RegexOptions.Compiled) 

Public Shared Function IsValidNicNumber(nicNumber As String) As Boolean 

    Return nicRegex.IsMatch(nicNumber) 

End Function 
+0

這也是工作!!!!!!!謝謝 !! – sanjeewa