23. oktober 2001 - 23:26Der er
5 kommentarer og 3 løsninger
Tjek om variabel indeholder både tekst og tal
Hej,
Jeg skal have tjekket en streng for, om den indeholder både tekst og tal.
Dvs. at en streng som zxc123 vil være okay, hvorimod 123456 eller zxcvbn ikke er okay... Hvordan sikrer jeg at variablen BÅDE har tal og bogstaver? (Antallet af hver type er underordnet - 1 af hver slags er altså nok, selvom der så er flere af den anden slags.)
Der findes vist ikke direkte en function til det så jeg har prøvet at lavet en:
function isAlfanumeric(val_string) validchars = \"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÆæØøÅå\" validnumbers = \"1234567890\" charFound = false numberFound = false for i = 1 to len(val_string) if instr(1, validchars, val_string(i)) = 0 then if instr(1, validnumbers, val_string(i)) = 0 then isAlfanumeric = False exit function else numberFound = true end if else charFound = true end if next isAlfanumeric = (numberFound AND charFound) end function
eagleeye >> hmm....den vil ikke fungere. denne gjør derimot:
response.write checkForValidChars(\"kj1\")
function checkForValidChars( str ) chars = \"abcdefghijklmnopqrstuvwxyzæøå\" nums = \"1234567890\" charFound = false numFound = false for i = 1 to LEN( str ) tmpChar = MID( str, i, 1 ) \' Sjekker for bokstav if( InStr( chars, tmpChar ) > 0 AND NOT charFound ) then charFound = true end if \' Sjekker for tall if( InStr( nums, tmpChar ) > 0 AND NOT numFound ) then numFound = true end if \' Exit hvis begge er funnet if( charFound AND numFound ) then exit for end if next checkForValidChars = charFound AND numFound end function
det sku også rigtig har lige rettet så den virker:
function isAlfanumeric(val_string) validchars = \"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzÆæØøÅå\" validnumbers = \"1234567890\" charFound = false numberFound = false for i = 1 to len(val_string) if instr(1, validchars, mid(val_string,i,1)) = 0 then if instr(1, validnumbers, mid(val_string,i,1)) = 0 then isAlfanumeric = False exit function else numberFound = true end if else charFound = true end if next isAlfanumeric = (numberFound AND charFound) end function
Set regEx = New RegExp regEx.Pattern = \".*[\\d].*[A-ZÆØÅa-zæøå].*|.*[A-ZÆØÅa-zæøå].*[\\d].*\" Set Matches = regEx.Execute(strText)
if Matches.Count = 0 then \' Fejl, strText indeholder ikke både ciffer og bogstav else \' OK, strText indeholder mindst 1 ciffer og mindst 1 bogstav end if
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.