簡體   English   中英

文本框只能接受10個數字。 在VB.NET中也一樣

[英]Textbox has to only accept 10 numbers. No more no less in VB.NET

如何使文本框僅接受10個數字,並且還可以接受()-

例如:123-123-1234或例如:1231231234或例如:(123)123-1234

如果文本框不包含任何這些示例,則應給出錯誤消息。

Windows窗體中的MaskedTextBox旨在限制輸入以符合模式,並優雅地讓用戶知道他們是否正在輸入違反該模式的數據。

https://msdn.microsoft.com/en-us/library/vstudio/kkx4h3az(v=vs.110).aspx

您必須使用服務器代碼來執行此操作,但是最好也有一個客戶端驗證器。

服務器端:正如Rikkigibson所指出的, MaskedTextBox是實現此目的的一個很好的控件。 例:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.ToolTip1.IsBalloon = True
    Me.MaskedTextBox1.Mask = "00/00/0000"
End Sub

Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected
    ToolTip1.ToolTipTitle = "Invalid Input"
    ToolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", MaskedTextBox1, 5000)
End Sub

在這里閱讀有關Mask property

客戶端:最好也進行客戶端驗證,因此,文本框中錯誤值的請求都不會到達服務器並給服務器增加負擔。 為此,您可以在jQuery中處理.keyup()事件。 因此,如果您具有驗證功能,並且我們假設選擇器與您的文本框相對應,那么您應該編寫代碼,例如

$(selector).keyup(function(e) {
    if (validation(e)) {
        //it is valid
    } else {
        //it is not valid
    }
});

編輯:

我已經看到您也有數字位數的問題。 是使用vb獲取String中數字位數的方式, 也是使用Javascript獲取數字位數的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM