Avatar billede acp Nybegynder
28. december 2004 - 20:54 Der er 7 kommentarer

Konvertere Tekst

Hej med jer,

Jeg har et lille problem som jeg håber i kan hjælpe med.

Jeg har en side med et tekstfelt, hvor brugeren indtaster noget tekst i. Jeg vil gerne have at mit ASP script (Som startes ved at man trykker på en knap) kovertere det indtastede tekst til en anden opstilling fx:

Brugeren indtaster:
1234.5678.90AB -> Skal konvertes til 12:34:56:78:90:AB
123456-7890AB  -> Skal konvertes til 12:34:56:78:90:AB
1234567890AB  -> Skal konvertes til 12:34:56:78:90:AB

Det kan være mange forskellige tegn i det der bliver indtastet af brugeren, disse skal fjernes, således så der kun kommer det rigtige output frem. Formatet skal altid være følgende:

XX:XX:XX:XX:XX:XX

Håber i kan hjælpe...

-Anders
Avatar billede ellebaek Nybegynder
28. december 2004 - 22:13 #1
hmm...

måske kan dette bruges:
så kan du tilføje flere tegn som brugeren kan taste ind der skal fjernes i funktionen remove...

<%
function remove(strText)
strText = trim(strText)
strText = replace(strText, ".", "")
strText = replace(strText, "-", "")
strText = replace(strText, "_", "")
remove = strText
end function

function addColon(strText)
colon = left(strText, 2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2)
addColon = colon
end function

function convertText(strText)
strText = remove(strText)
if len(strText) = 12 then
strText = addColon(strText)
convertText = strText
else
Response.write "Der skete en fejl"
end if
end function
Avatar billede ellebaek Nybegynder
28. december 2004 - 22:14 #2
og så manglede der lige en smule til sidst..

du kalder så funktionen med:

response.write convertText("1234.5678.90AB")
%>
Avatar billede acp Nybegynder
28. december 2004 - 22:28 #3
Hej,

Det ser helt fint ud... Jeg ved bare ikke lige hvordan jeg får min tekst fra mit tekstfelt over i "response.write convertText" statementet mit tekstfelt hedder address - Har du en ide til det?

-Anders
Avatar billede ellebaek Nybegynder
28. december 2004 - 23:06 #4
Tja... en ide kunne være følgende ;-)

response.write convertText(request.form("address"))
Avatar billede ellebaek Nybegynder
28. december 2004 - 23:09 #5
( altså hvis det er en form du henter det fra..)

Er det fra databasen..
Så er dette en mulighed i stedet:

set myConn = Server.createobject("adodb.connection")
myConn.open DIN streng til databasen

sql = "SELECT address FROM tabel"
set rs = myConn.execute(sql)

while not rs.eof
response.write convertText(rs("address")) & "<br>"
rs.movenext
wend
Avatar billede acp Nybegynder
29. december 2004 - 10:24 #6
Kanont, takker mange gange - hvis du smider et svar så får du point!

En lille ting, kan man lave remove funktionen om således at det kun er følgende tegn der accepteres og resten fjernes - Det er noget lettere at sikre sig så.

Følgende tegn er OK i formattet:
A
B
C
D
E
F
1
2
3
4
5
6
7
8
9
0
:

Altså kun Hex Værdier skal tillades! Jeg vil også gerne have at lige meget om jeg skriver med UpperCase eller LowerCase så vises output kun i LowerCase.

-Anders.
Avatar billede ellebaek Nybegynder
30. december 2004 - 21:26 #7
jo...

hmm..
mon ikke sådan her:

<%
function remove(strText)
strArray = "a,b,c,d,e,f,1,2,3,4,5,6,7,8,9,0,:"
strText = trim(strText)
for (i = 0 to len(strText))
bogstav = mid(strText,i,1)
if not instr(strArray, bogstav) > 0 then
strText = replace(strText, bogstav, "")
end if
next
remove = strText
end function

function addColon(strText)
colon = left(strText, 2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2) & ":"
strText = right(strText,len(strText)-2)
colon = colon & left(strText,2)
addColon = colon
end function

function convertText(strText)
strText = LCase(strText)
strText = remove(strText)
if len(strText) = 12 then
strText = addColon(strText)
convertText = strText
else
Response.write "Der skete en fejl"
end if
end function

response.write convertText(request.form("tekst"))
%>
sådan her vil jeg mene det skal se ud i stedet så...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester