• 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

Moderators: tungcan5diop, QUANITGROBEST

User avatar
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Posts: 1123
Joined: Wed 24/09/2008 4:04 pm
Location: TPHCM
Has thanked: 1 time
Been thanked: 28 times

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

Postby tungcan5diop » Sun 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:


Code: Select all

  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!

User avatar
hoangthu1974
Guru
Guru
Posts: 813
Joined: Thu 09/03/2006 9:30 am
Location: Hà Nội --> Tp. Hồ Chí Minh
Been thanked: 13 times
Contact:

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

Postby hoangthu1974 » Mon 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é.

User avatar
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Posts: 1123
Joined: Wed 24/09/2008 4:04 pm
Location: TPHCM
Has thanked: 1 time
Been thanked: 28 times

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

Postby tungcan5diop » Mon 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
Posts: 415
Joined: Sat 14/07/2007 10:06 pm
Location: 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

Postby tienlbhoc » Mon 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
Posts: 1
Joined: Sun 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

Postby happynet » Mon 06/04/2009 3:30 pm

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

Code: Select all

  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
Posts: 12
Joined: Thu 31/03/2011 11:26 am

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

Postby cruel91 » Mon 18/04/2011 11:42 am

Code: Select all

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 ...

Code: Select all

"^([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


Return to “[.NET] Chuỗi và Thời gian”

Who is online

Users browsing this forum: No registered users and 0 guests