- Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
- Tìm kiếm trước khi đặt câu hỏi
Giới hạn chữ khi đăng ký tài khoản
Moderators: tungblt, vuathongtin
-
- Thành viên chính thức
- Posts: 34
- Joined: Thu 29/09/2011 3:20 pm
- Has thanked: 14 times
Giới hạn chữ khi đăng ký tài khoản
Các Pro giúp em tí. Bây giờ muốn giới hạn chữ khi đăng ký tài khoản như thường đăng ký các diễn đàn, chỉ sử dụng các ký tự a->z; 0->9 và "_" thì làm thế nào? Cho xin code???
- Dang Minh Du
- Thành viên ưu tú
- Posts: 531
- Joined: Wed 02/04/2008 2:08 pm
- Location: RGames Team
- Has thanked: 3 times
- Been thanked: 17 times
- Contact:
Re: Giới hạn chữ khi đăng ký tài khoản
Bạn có thể làm như thế này: khi người dùng nhập, không cho nhập các kí tự mà bạn k muốn, trong sự kiện KeyPress của textbox, bạn set lại key = none khi người dùng nhập các phím cấm
-
- Thành viên chính thức
- Posts: 34
- Joined: Thu 29/09/2011 3:20 pm
- Has thanked: 14 times
- lipton150786
- Thành viên tâm huyết
- Posts: 345
- Joined: Thu 18/11/2010 10:00 pm
- Has thanked: 5 times
- Been thanked: 29 times
Re: Giới hạn chữ khi đăng ký tài khoản
bạn có thể dùng code sau trong sự kiện KeyPress của textbox:
(đây là trường hợp chỉ cho nhập từ 0 ->9 bạn có thể mở rộng thêm)
(đây là trường hợp chỉ cho nhập từ 0 ->9 bạn có thể mở rộng thêm)
Code: Select all
Private Sub txtPhone_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPhone.KeyPress
If (e.KeyChar >= "0" And e.KeyChar <= "9") Then
'Cho phép nhập
e.Handled = False
Else
'Không cho phép nhập
e.Handled = True
End If
End Sub
-
- Thành viên chính thức
- Posts: 34
- Joined: Thu 29/09/2011 3:20 pm
- Has thanked: 14 times
Re: Giới hạn chữ khi đăng ký tài khoản
OK bạn. Mình thử thế này thì nó vẫn đánh đc Unicode (đ, ê, ư, ....) là sao nhỉ?
Private Sub txttentaikhoan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttentaikhoan.KeyPress
Dim mK As Integer = Asc(e.KeyChar)
If Not (((mK >= 48 And mK <= 57) Or mK = 8 Or (mK >= 65 And mK <= 90) Or (mK >= 97 And mK <= 122) Or mK = 95 Or mK = 13)) Then
MsgBox("Tài khoản không dùng ký tự đặc biệt! Vui lòng chọn lại tên tài khoản!", MsgBoxStyle.Information, "Thông báo")
e.Handled = True
txttentaikhoan.Clear()
txttentaikhoan.Focus()
Exit Sub
End If
End Sub
Private Sub txttentaikhoan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttentaikhoan.KeyPress
Dim mK As Integer = Asc(e.KeyChar)
If Not (((mK >= 48 And mK <= 57) Or mK = 8 Or (mK >= 65 And mK <= 90) Or (mK >= 97 And mK <= 122) Or mK = 95 Or mK = 13)) Then
MsgBox("Tài khoản không dùng ký tự đặc biệt! Vui lòng chọn lại tên tài khoản!", MsgBoxStyle.Information, "Thông báo")
e.Handled = True
txttentaikhoan.Clear()
txttentaikhoan.Focus()
Exit Sub
End If
End Sub
-
- Thành viên chính thức
- Posts: 34
- Joined: Thu 29/09/2011 3:20 pm
- Has thanked: 14 times
Re: Giới hạn chữ khi đăng ký tài khoản
uh. Tớ nhầm. Thêm đk mK<256 nữa mà không được?
Private Sub txttentaikhoan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttentaikhoan.KeyPress
Dim mK As Integer = Asc(e.KeyChar)
If Not (((mK >= 48 And mK <= 57) Or mK = 8 Or (mK >= 65 And mK <= 90) Or (mK >= 97 And mK <= 122) Or mK = 95 Or mK = 13) and mK< 256) Then
MsgBox("Tài khoản không dùng ký tự đặc biệt! Vui lòng chọn lại tên tài khoản!", MsgBoxStyle.Information, "Thông báo")
e.Handled = True
txttentaikhoan.Clear()
txttentaikhoan.Focus()
Exit Sub
End If
End Sub
Private Sub txttentaikhoan_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txttentaikhoan.KeyPress
Dim mK As Integer = Asc(e.KeyChar)
If Not (((mK >= 48 And mK <= 57) Or mK = 8 Or (mK >= 65 And mK <= 90) Or (mK >= 97 And mK <= 122) Or mK = 95 Or mK = 13) and mK< 256) Then
MsgBox("Tài khoản không dùng ký tự đặc biệt! Vui lòng chọn lại tên tài khoản!", MsgBoxStyle.Information, "Thông báo")
e.Handled = True
txttentaikhoan.Clear()
txttentaikhoan.Focus()
Exit Sub
End If
End Sub
-
- Thành viên chính thức
- Posts: 38
- Joined: Wed 13/04/2011 9:42 am
- Has thanked: 1 time
- Been thanked: 2 times
- Contact:
Re: Giới hạn chữ khi đăng ký tài khoản
do câu hỏi k rõ ràng...
.. bạn thữ code này có đúng ý bạn k?


Code: Select all
Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
Dim str As String = "1234567890qwertyuiopasdfghjklzxcvbnm_"
Dim strA As String = "QWERTYUIOPASDFGHJKLZXCVBNM" & str
Dim chr As Char = Mid(Me.TextBox1.Text, Me.TextBox1.Text.Length) ' chr= ký tự vừa nhập
If strA.LastIndexOf(chr) <> -1 Then
' nhap dung chu roi
Else
MessageBox.Show("nhap sai ", "mời ban nhap lai", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error)
Me.TextBox1.Text = Me.TextBox1.Text.Remove(Me.TextBox1.Text.Length - 1, 1)
End If
End Sub
-
- Thành viên chính thức
- Posts: 34
- Joined: Thu 29/09/2011 3:20 pm
- Has thanked: 14 times
Re: Giới hạn chữ khi đăng ký tài khoản
Sao toàn báo lỗi
Argument 'Start' must be greater than zero.
ở dòng
Dim chr As Char = Mid(Me.TextBox1.Text, Me.TextBox1.Text.Length)
và giữa
If strA.LastIndexOf(chr) <> -1 Then
Else
là gì nhỉ? Mình mới lọ mọ tập làm thôi, cậu hướng dẫn kỹ tí nhé
Argument 'Start' must be greater than zero.
ở dòng
Dim chr As Char = Mid(Me.TextBox1.Text, Me.TextBox1.Text.Length)
và giữa
If strA.LastIndexOf(chr) <> -1 Then
Else
là gì nhỉ? Mình mới lọ mọ tập làm thôi, cậu hướng dẫn kỹ tí nhé
-
- Thành viên chính thức
- Posts: 38
- Joined: Wed 13/04/2011 9:42 am
- Has thanked: 1 time
- Been thanked: 2 times
- Contact:
Re: Giới hạn chữ khi đăng ký tài khoản
If strA.LastIndexOf(chr) <> -1 Then
{công việc khi tìm thấy ký tự chr trong chuỗi strA
chý ý: bạn nên xem hàm strA.LastIndexOf(chr) hoạt động ra sao_
bạn sẽ biết chúng ta xây dựng thuật toán ra sao. }
Else
{công việc khi không tìm thấy chr trong chuỗi strA}
end if
mình test rồi mà bạn.....
trên máy mình không thấy lỗi.
{công việc khi tìm thấy ký tự chr trong chuỗi strA
chý ý: bạn nên xem hàm strA.LastIndexOf(chr) hoạt động ra sao_
bạn sẽ biết chúng ta xây dựng thuật toán ra sao. }
Else
{công việc khi không tìm thấy chr trong chuỗi strA}
end if
mình test rồi mà bạn.....

- lipton150786
- Thành viên tâm huyết
- Posts: 345
- Joined: Thu 18/11/2010 10:00 pm
- Has thanked: 5 times
- Been thanked: 29 times
Re: Giới hạn chữ khi đăng ký tài khoản
cài này mình đã test bên máy của mình rồi chạy Ok bạn xem thư nha:
chúc mai mắn nha
Code: Select all
Private Sub txtTiendoi_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTiendoi.KeyPress
If (e.KeyChar >= "a" And e.KeyChar <= "z") Or (e.KeyChar >= "0" And e.KeyChar <= "9") Or Asc(e.KeyChar) = 8 Or (e.KeyChar >= "A" And e.KeyChar <= "Z") Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
chúc mai mắn nha
Return to “Visual Basic .NET và C# (VB.NET & C#)”
Who is online
Users browsing this forum: MSN [Bot] and 3 guests