Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Validera rätt i tecken & längd

Postades av 2001-03-27 14:24:00 - Sven Jansson, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 726 personer

'Hittade den här koden men får ej till det. Har försökt med lite olika i Command men jag gör fel.
'En Command1
'En Text1 = strAddress Är det fel att Text ska heta strAddress
'Har kanske tagit vatten över huvudet!

Public Function ValidateEMail(ByVal strAddress As String) As Boolean

Dim lngIndex As Long ' Position på strAddress
Dim lngCountAt As Long ' Antal "@"
Dim lngLastDotPos As Long ' Position på föregående punkt
Dim strCurrentChar As String ' Buffer med strängens innehåll, ett tecken i taget.

On Error GoTo Fail_Validation

ValidateEMail = True
strAddress = Trim(strAddress)
lngLastDotPos = 0
lngCountAt = 0

' Finns inte minst (a@b.com) som längd,
' är inte adressen korrekt
If Len(strAddress) < 7 Then GoTo Fail_Validation

' Kolla vissa tecken i början av adressen.
strCurrentChar = Left$(strAddress, 1)
If strCurrentChar = "." Or strCurrentChar = "@" Or strCurrentChar = "_" Or _
strCurrentChar = "-" Then GoTo Fail_Validation

' Kontrollerar strängen mot ej godkända tecken.
For lngIndex = 1 To Len(strAddress)
strCurrentChar = Mid$(strAddress, lngIndex, 1)

' Räknar antalet "@".
If strCurrentChar = "@" Then lngCountAt = lngCountAt + 1

' Saknas punkt, är adressen ej korrekt.
If strCurrentChar = "." Then
If lngIndex = lngLastDotPos + 1 Then
GoTo Fail_Validation
Else
lngLastDotPos = lngIndex
End If
End If

Select Case Asc(strCurrentChar)
' Dessa tecken får inte användas i en email adress.
Case 1 To 44, 47, 58 To 63, 91 To 94, 96, 123 To 127, 128 To 255
GoTo Fail_Validation
End Select
Next lngIndex

' Saknas det, och endast ett "@" finns, är inte adressen korrekt
If lngCountAt <> 1 Then GoTo Fail_Validation

' Om extension inte är känt, är inte adressen godkänd
Select Case Right$(strAddress, 4)
Case ".se", ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
GoTo Fail_Validation
End Select

ValidateEMail_Exit:
Exit Function

Fail_Validation:
ValidateEMail = False
GoTo ValidateEMail_Exit
End Function



Private Sub Command1_KeyPress(KeyAscii As Integer)
strCurrentChar
End Sub

S J


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-27 14:57:00 - Sven Åke Persson

Hej
Så här bör du göra.Det funktion gör är att den
kontrollerar syntaxen på din email sträng
och lämnar True om allting är OK
Testa så här . En Text1 i den skriver du
eller klistrar in en email adress eller webadr

En Label1

Private Sub Command1_KeyPress(KeyAscii As Integer)
Dim retur As Boolean
Dim tmpStr As String
tmpStr = Text1.Text
retur = ValidateEMail(tmpStr)
If retur = False Then
MsgBox("Felaktig Emailadress")
Else
MsgBox("Inga fel hittades")
End If
End Sub

mvh
Sven



Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-27 16:28:00 - Andreas Hillqvist

Mitt förslag är att använda Validate eventet.

Private Sub Text1_Validate(Cancel As Boolean)
If Len(Text1.Text) Then
If ValidateEMail(Text1.Text) Then
'MsgBox "Inga fel hittades"
Else
Select Case MsgBox("Felaktig Emailadress", vbOKCancel + vbDefaultButton2 + vbInformation)
Case vbCancel
Cancel = True
End Select
End If
Else
'MsgBox "Du måste ange en adress!", vbInformation
'Cancel = True
End If
End Sub


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-27 17:26:00 - Sven Åke Persson

Hej
Mitt förslag är att använda Validate eventet.

Bra ! om sanningen skall fram så har jag aldrig
satt mig in i vad den händelsen utför i en TextBox

Ha det
Sven


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-27 18:10:00 - Andreas Hillqvist

Validate egenskapen för textboxen måste vara satt till True.

Validate eventet inträffar innan kontrollen tappar focus. I vilket också en möjlighet för att avbryta förlusten av focus ges med cancel variabeln.

Jag tror användaren finner det iriterande att få upp en meddelande ruta för t.ex. varje gång han trycker backspace.

Detta finns ett "problem" med validate eventet. Om man stänger ned ett fönster genom X ett. Förlorar inte textrutan focus. Kan lösas med SendKeys "{tab}", True i QueryUnload,vill att validate eventet skall.


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-28 04:43:00 - Sven Jansson

Tack för era svar det gick fort. Men det som jag inte får till är att bara om man skriver .com då blir det godkänt. försökte med .se då blir det fel. Om jag läser rätt ska den ju kontrollera om det är med i koden eller läser jag av fel? Det gäller bådas svar

' Om extension inte är känt, är inte adressen godkänd
Select Case Right$(strAddress, 4)
Case ".se", ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
GoTo Fail_Validation
End Select
:-) SJ


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-28 05:01:00 - Sven Jansson

Tror att jag hittade felet:
Select Case Right$(strAddress, 3) ' Från 4 till 3
Case ".se", ".nu", ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
Det verkar fungera.
:-) S J


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-28 09:27:00 - Andreas Hillqvist

Efter som det kan vara två eller tre tecken efter unkten bör du istället använda instrrev, vilket söker upp en sträng i en sträng baklänges. Dessutom bör du skriv Option Compare Text längst upp i modulen eller göra en LCase$(). Efter som standard i vb är känslig för stora eller små bokstäver


Option Compare Text

Private Sub Command1_Click()
Dim lPos As Long
Dim sText As String
Dim sSufix As String

sText = Text1

lPos = InStrRev(sText, ".")
If lPos Then
sSufix = Mid(sText, lPos)
Select Case sSufix
Case ".se", ".nu", ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
MsgBox "Invalid email"
End Select
Else
MsgBox "Invalid email"
End If

End Sub


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-03-29 05:41:00 - Sven Jansson

Tackar nu fungerar det.
:-) SJ


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-04-26 09:38:00 - Sven Jansson

Nu har det hänt något, nu kan det bara skrivas in två ord ex: nu, se om jag försöker med com eller annat som är tre då blir det felmeddelande. Konstigt för det har fungerat är det fel i min dator eller???

* Modul *
Public Function ValidateEMail(ByVal strAddress As String) As Boolean

Dim lngIndex As Long ' Position på strAddress
Dim lngCountAt As Long ' Antal "@"
Dim lngLastDotPos As Long ' Position på föregående punkt
Dim strCurrentChar As String ' Buffer med strängens innehåll, ett tecken i taget.

On Error GoTo Fail_Validation

ValidateEMail = True
strAddress = Trim(strAddress)
lngLastDotPos = 0
lngCountAt = 0

' Finns inte minst (a@b.com) som längd,
' är inte adressen korrekt
If Len(strAddress) < 6 Then GoTo Fail_Validation

' Kolla vissa tecken i början av adressen.
strCurrentChar = Left$(strAddress, 1)
If strCurrentChar = "." Or strCurrentChar = "@" Or strCurrentChar = "_" Or _
strCurrentChar = "-" Then GoTo Fail_Validation

' Kontrollerar strängen mot ej godkända tecken.
For lngIndex = 1 To Len(strAddress)
strCurrentChar = Mid$(strAddress, lngIndex, 1)

' Räknar antalet "@".
If strCurrentChar = "@" Then lngCountAt = lngCountAt + 1

' Saknas punkt, är adressen ej korrekt.
If strCurrentChar = "." Then
If lngIndex = lngLastDotPos + 1 Then
GoTo Fail_Validation
Else
lngLastDotPos = lngIndex
End If
End If

Select Case Asc(strCurrentChar)
' Dessa tecken får inte användas i en email adress.
Case 1 To 44, 47, 58 To 63, 91 To 94, 96, 123 To 127, 128 To 255
GoTo Fail_Validation
End Select
Next lngIndex

' Saknas det, och endast ett "@" finns, är inte adressen korrekt
If lngCountAt <> 1 Then GoTo Fail_Validation

' Om extension inte är känt, är inte adressen godkänd
Select Case Right$(strAddress, 3)
Case ".se", ".nu", ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
GoTo Fail_Validation
End Select

ValidateEMail_Exit:
Exit Function

Fail_Validation:
ValidateEMail = False
GoTo ValidateEMail_Exit
End Function

* Form *

Private Sub Text1_LostFocus()
Dim retur As Boolean
Dim tmpStr As String
tmpStr = Text1.Text
retur = ValidateEMail(tmpStr)
If retur = False Then
MsgBox ("Felaktig Emailadress")
Else
MsgBox ("Inga fel hittades")
End If
End Sub

* Slut kod *
Är det någon som har en förklaring. Det är VB 5
S J


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-04-26 10:12:00 - Andreas Hillqvist

Testa:

' Om extension inte är känt, är inte adressen godkänd
Select Case Right$(strAddress, 3)
Case ".se", ".nu"
' Yes, it's valid.
Case Else
GoTo Fail_Validation
End Select

' Om extension inte är känt, är inte adressen godkänd
Select Case Right$(strAddress, 4)
Case ".com", ".org", ".net", ".edu", ".mil", ".gov"
' Yes, it's valid.
Case Else
GoTo Fail_Validation
End Select

Eler lagra positionen för den sista punkte och använd den i Right$(strAddress, 3) istället för konstanten... :O)


Svara

Sv: Validera rätt i tecken & längd

Postades av 2001-04-26 11:32:00 - Sven Jansson

Tack nu har jag ändrat och nu tar den emot 3 & 2 utan att protestera. Prövar mera men nu ska det väl fungera.
:-) S J


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
463
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies