2016-01-10 36 views
0

我是.net編程中的新手。我有一個產品供應商的數據庫,並且有一些關於供應商的細節。在phonetextbox我想要的電話號碼至少8位數字。我編碼但不起作用。你可以幫我嗎?.net上可接受的電話號碼

'Dim numbers As Decimal = Convert.ToDecimal(PhoneTextBox.Text) 
    Dim regex As Regex = New Regex("^\d{8}") 
    Dim match As Match = regex.Match(numbers) 
    If Not match.Success() Then 
     MessageBox.Show("Attention!!!The phone number must be at least 8 digits") 
     e.Cancel = True 
    End If 

End Sub` 
+3

電話號碼是不是一個小數,如果你想保存格式,它甚至不是一個數字類型。不需要正則表達式來測試長度:PhoneTextBox.Text.Length – Plutonix

+1

請閱讀[問]並顯示這個「不起作用」。 – CodeCaster

+2

此外,沒有必要警告用戶有很多驚歎號!這只是一個錯字!狀態欄消息或「ErrorProvider」將不那麼煩人,必須解散MessageBox。 – Plutonix

回答

0

這應該可以完成你想要做的事情。正如評論所說,不需要正則表達式進行長度檢查,它肯定是一個字符串,而不是數字類型。

Dim submission = "1234567" 
    If (submission.Length <= 8) Then 
     Console.WriteLine("Attention!!!The phone number must be at least 8 digits") 
    'e.Cancel = True 
    End If 
0
Sub Main() 
     Dim phonePattern As New Regex("^\d{3}-\d{7}$") 
     Dim phoneNumber As String = "210-1234567" 

     If (Not phonePattern.IsMatch(phoneNumber)) Then 
      Console.WriteLine("Number {0} is not in right format [999-9999999]", phoneNumber) 
     Else 
      Console.WriteLine("Number {0} is in right format [999-9999999]", phoneNumber) 
     End If 


     Console.ReadLine() 
    End Sub