• 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

Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Các thủ thuật liên quan đến xử lý chuỗi và thời gian

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Gửi bàigửi bởi tungcan5diop » CN 23/11/2008 11:04 pm

Tên bài viết:
Tác giả: Sưu tầm
Cấp độ bài viết: Chưa đánh giá
Tóm tắt:


Mã: Chọn hết

  1. Private Function IsDNSMailAddr(ByVal addr As String) As Boolean
  2.         'khai báo một số biến cần dùng
  3.         Dim len As Integer
  4.         Dim i As Integer
  5.         Dim addarr() As Char
  6.         Dim ch As Char
  7.         'giả định kết quả sai
  8.         IsDNSMailAddr = False
  9.         'tìm độ dài chuỗi
  10.         len = addr.Length
  11.         'đổi chuỗi sang mảng các ký tự
  12.         addarr = addr.ToCharArray()
  13.         i = 0
  14.         On Error GoTo test1
  15.         'duyệt tìm thành phần <account>
  16.         While (i < len) And (addarr(i) <> "@"c)
  17.             ch = addarr(i)
  18.             If (("0"c <= ch) And (ch <= "9"c)) Or (("a"c <= ch) And (ch <= "z"c)) Then
  19.                 i = i + 1
  20.             Else
  21.                 'đã tìm được 1 ký tự không hợp cú pháp
  22.                 MsgBox("Email không hợp lệ")
  23.                 Exit Function
  24.             End If
  25.         End While
  26. test1:
  27.         i = i + 1
  28.         'nếu hết chuỗi => không hợp cú pháp
  29.         If i = len Then
  30.             MsgBox("Email không hợp lệ")
  31.             Exit Function
  32.         End If
  33.  
  34.  
  35.         On Error GoTo test2
  36.         'duyệt tìm thành phần đầu tiên của <server>
  37.         While (i < len) And (addarr(i) <> "."c)
  38.             ch = addarr(i)
  39.             If (("0"c <= ch) And (ch <= "9"c)) Or (("a"c <= ch) And (ch <= "z"c)) Then
  40.                 i = i + 1
  41.             Else
  42.                 'đã tìm được 1 ký tự không hợp cú pháp
  43.                 MsgBox("Email không hợp lệ")
  44.                 Exit Function
  45.             End If
  46.         End While
  47. test2:
  48.         i = i + 1
  49.         'nếu hết chuỗi => không hợp cú pháp
  50.         If i = len Then Exit Function
  51.         On Error GoTo test3
  52.         'duyệt tìm các thành phần còn lại của <server>
  53.         While (i < len)
  54.             ch = addarr(i)
  55.             If (("0"c <= ch) And (ch <= "9"c)) Or (("a"c <= ch) And (ch <= "z"c) Or ch = "."c) Then
  56.                 i = i + 1
  57.             Else
  58.                 MsgBox("Email không hợp lệ")
  59.                 Exit Function
  60.             End If
  61.         End While
  62. test3:
  63.         MsgBox("Email hợp lệ")
  64.         'nếu chạy tới đây => hợp cú pháp
  65.                IsDNSMailAddr = True
  66.     End Function


Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

Hình đại diện của người dùng
hoangthu1974
Guru
Guru
Bài viết: 812
Ngày tham gia: T.Năm 09/03/2006 9:30 am
Đến từ: Hà Nội --> Tp. Hồ Chí Minh
Been thanked: 13 time
Liên hệ:

Re: Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Gửi bàigửi bởi hoangthu1974 » T.Hai 24/11/2008 8:57 am

Ý tưởng và bài viết, NoBi đã đưa lên từ bài đầu tiên của diễn đàn. Search lại nhé.

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Re: Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Gửi bàigửi bởi tungcan5diop » T.Hai 24/11/2008 9:48 pm

sorry mình không biết đã có chủ đề này rồi...rút kinh nghiệm lần sau:D
Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

tienlbhoc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 415
Ngày tham gia: T.Bảy 14/07/2007 10:06 pm
Đến từ: Hà Nội
Been thanked: 1 time

Re: Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Gửi bàigửi bởi tienlbhoc » T.Hai 24/11/2008 9:49 pm

chơi regular expression thấy ngắn hơn
Diễn đàn và blog phần mềm tự làm :
http://my.opera.com/DienDanTienlbhoc/forums/
http://my.opera.com/tienlbhoc/blog/

happynet
Bài viết: 1
Ngày tham gia: CN 15/03/2009 5:18 pm

Re: Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý không

Gửi bàigửi bởi happynet » T.Hai 06/04/2009 3:30 pm

Cách này là dùng RegularExpressions để check email xem có hợp lệ hay hông :)

Mã: Chọn hết

  1.  
  2. Imports System.Text.RegularExpressions
  3.  
  4. Public Shared Function IsEmail(ByVal Email As String) As Boolean
  5.         Dim strEmail As String = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" & "\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" & ".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
  6.  
  7.         Dim re As New Regex(strEmail)
  8.         If re.IsMatch(Email) Then
  9.             Return (True)
  10.         Else
  11.             Return (False)
  12.         End If 
  13. End Function
  14.  

cruel91
Thành viên chính thức
Thành viên chính thức
Bài viết: 12
Ngày tham gia: T.Năm 31/03/2011 11:26 am

Re: Hàm kiểm tra địa chỉ mail nhập trong Textbox có hợp lý k

Gửi bàigửi bởi cruel91 » T.Hai 18/04/2011 11:42 am

Mã: Chọn hết

Dim strEmail As String = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" & "\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" & ".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"


Đoạn này là sao vậy ??? Có ai giải thích giúp newbie đc hông ...

Mã: Chọn hết

"^([a-zA-Z0-9_\-\.]+)

Có phải cái này là trước @ trong email ko ??? Rồi chỗ nào cho phần domain vậy ?? Bro nào giúp e phát. Thanks


Quay về “[.NET] Chuỗi và Thời gian”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách