Avatar billede rasmusp Nybegynder
28. december 2000 - 21:43 Der er 43 kommentarer og
1 løsning

500 kr. på højkant!

Min faste hjælper (programmør) er taget på 14 dages ferie og jeg står og har brug for noget ASP kode der kan fjerne alle...

1) www adresser
2) e-mail adresser
3) telefonnumre (f.eks. 8888 8888, 8888-8888,88-88-88-88,88 88 88 88 eller 8888888)

...fuldstændig fra et tekstfelt der submittes fra en form til et felt i en SQL database.

D.v.s.: brugeren indtaster fritekst i et <textarea> i en form på en ASP side og siden reloades herefter og laver en INSERT INTO feltet i databasen.


Jeg kan selv kun lave simple ASP ting, så har du tid i dag eller i morgen (28 - 29 december 2000) til at hjælpe med at lave en sådan funktion vil jeg gerne sætte 500 kr. på højkant (skal udbetales af mit firma så enten mod faktura eller du kan købe noget EDB udstyr for 500 kr. som jeg betaler).

Skriv til mig (zippy@mailme.dk) inden du evt. går igang da det bliver den første som jeg mener kan udføre opgaven tilfredsstillende som får opgaven.
Avatar billede tdaugaard Nybegynder
28. december 2000 - 21:47 #1
Som jeg har sagt til dig tidligere er nr. 3 umulig at gå i gang med da du ikke har noget fast format på tlf. nr.
Avatar billede dalbjerg Nybegynder
28. december 2000 - 21:55 #2
æhh fatter det ikke helt lige, men er sikker på at jeg kan lave det...
Avatar billede tdaugaard Nybegynder
28. december 2000 - 21:57 #3
dalbjerg:> kig her: http://www.eksperten.dk/spm/40275

jeg har allerede lavet 1 og 2 for ham med en RegExp replace
Avatar billede dalbjerg Nybegynder
28. december 2000 - 21:58 #4
en bruger indtastet noget i textarea felt, ligesom her på eksperten, nå han har trykket på udfør, skal siden hentes forfra?

Og den skal nu havde fjernet alle www adresse, eks. www.eksperten http://www.eksperten.dk eksperten.dk

og den skal også havde fjernet alle email adresser dalbjerg@leweb.dk ???

Og den skal ligeledes havde fjernet, alle de telefoner nr. som enten se således ud:
8888 8888
8888-8888
88-88-88-88
88 88 88 88
8888888

og ikke flere???

Det kan jeg lave idag
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:00 #5
dalbjerg:> hvordan faen vil du fjerne tlf. numrene ?
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:01 #6
desuden er de formater på tlf. nr. han haer angivet jo kun en liste over mulige som han har tænkt på .. men hva dmed 88 888 888 ? eller 888 888 88 ? der er MANGE muligheder .. eller 8 8 8 8 8 8 8 8
Avatar billede dalbjerg Nybegynder
28. december 2000 - 22:02 #7
hvis han er sikker på at det det enten er en af de fem, så er det vel blot noget med at den først skal tjekke efter om kombinationen af en af de fire findes som tal string... arhh, fuck det har jeg sku ikke lige helt tænkt på..
Avatar billede dalbjerg Nybegynder
28. december 2000 - 22:04 #8
jeps... du har ret... hvis ikke han kan angive præsis, hvilket telefoner nummer det er han vil havde fjernet, så er det sku umuligt...

Men æhh... tænke, hvorfor vil du egentligt havde fjernet www, email og telefon nummer ???

www og email kan jeg forstår, men telefon nr.... Det er sku der ligemeget om folk skrive ring til mig på 88888888... order was???
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:05 #9
dalbjerg:> det kan han heller ikke være sikker på når det er en fritekst..

88888888
8 8888888
88 888888
888 88888
8888 8888

etc. etc.

sådan kan du forsætte ..
Avatar billede stigc Nybegynder
28. december 2000 - 22:12 #10
man kan da bare fjerne alle kombinationer med 8 tal i træk, hvor \'-\' ignoreres
Avatar billede rasmusp Nybegynder
28. december 2000 - 22:13 #11
ALLE tænkelige 8 cifrede tal/telefonnummer kombinationer skal med, også dem som jeg ikke har nævnt, f.eks. 8 8888888 og 88 888 888 osv osv!

Hvis det hele bliver en reg.exp skal jeg også lige have vejledning i hvordan en sådan bruges!

Hvis I allerede er i gang så må vi opsætte et par regler for hvem der scorer de 500 kroner:

1) Færrest kodelinier
2) Nemt at implementere (evt. med udførlig vejledning sådan at jeg kan finde ud af det). På en skal fra 0-10 (hvor 10 er bedst) er mit ASP niveau formentlig 2.

Andre end tdaugaard og dalbjerg er også velkomne til at komme med deres bud!


- Rasmus
Avatar billede dalbjerg Nybegynder
28. december 2000 - 22:15 #12
jeg har meldt pas... Tdaugaard, er 100 gange bedre til at programmere end mig, så hvis han ikke kan så kan jeg vist heller ikk....
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:15 #13
rasmus:> det kan sikkert nok laves med en regexp, men jeg kan ikke selv lave dem. Spørg ErikJakobsen han kan vist. Og desuden skal der ingen vejledning til sådan nogle .. den funktion som jeg kom med i det andet spm. virker bare ved at du skriver f.eks.

strFritekst = FixString(strFriTekst)

Avatar billede rasmusp Nybegynder
28. december 2000 - 22:17 #14
Hvordan får jeg fat i ErikJakobsen?
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:22 #15
tjae ... dunno..
Avatar billede andyholt2 Nybegynder
28. december 2000 - 22:30 #16
rasmusp >> Du ku jo prøve eksperten@hasselager.net
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:39 #17
Nå .. jeg er godt på vej med min RegExp reference og lidt regexp arrays .. det kører da nogenlunde indtil videre.
Avatar billede rasmusp Nybegynder
28. december 2000 - 22:45 #18
tdaugaard >> jeg er godt på vej med min RegExp

Lyder godt. Hvis du får det til at virke: Gider du sørge for at den også fjerner flg. 4 \"ord\" kun disse stavemåder (dog ikke case sensitiv, men derudover ingen afarter af ordene)...:
tlf.
telefon
email
e-mail


- Rasmus
Avatar billede stigc Nybegynder
28. december 2000 - 22:48 #19
hvad så når en bruger skriver \"mit telefonnummer er: tre fem otto fem ni syv........\" :)

Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:49 #20
Jeg vil lige sige at det er en UMULIGHED at gardere sig for alle tænkelige kombinationer af tlf. nr. men jeg har \"fjernet\" 6 indtil videre ... men det er jo svært selv at tænkte sig til de forskellige kombinationer, men der er nok ikke nogen stor sandsynlighed for at der er nogle der bruger et utraditionelt format som f.eks. 88 888 88 8
Avatar billede zhatten Nybegynder
28. december 2000 - 22:51 #21
stigc ;) Den tænkte jeg også lige på.

Jeg tror ikke man nogensinde kan spare muligheden for at op give sit nummer.


- Zhatten
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:51 #22
stigc:> det gør man heller ikke ..

rasmusp:> \"tlf.
telefon
email
e-mail\" er det kun DE ord .. altså specifikt dem der skal fjernes ?
Avatar billede zhatten Nybegynder
28. december 2000 - 22:52 #23
TD - Hvis folk virkelig vil skrive deres nummer skal de nok finde en metode ;)


- Zhatten
Avatar billede erikjacobsen Ekspert
28. december 2000 - 22:52 #24
hehe - hørte jeg mit navn nævnt?
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:54 #25
zhatten:> de aner jo ikke at det bliver fjernet ...

E.J:> *S* jarh .. det var til en RegExp der kan fjerne ALLE former for tlf. numre...
Avatar billede tdaugaard Nybegynder
28. december 2000 - 22:55 #26
zhatten:> som jeg skrev \"Jeg vil lige sige at det er en UMULIGHED at gardere sig for alle tænkelige kombinationer af tlf. nr.\" ..
Avatar billede erikjacobsen Ekspert
28. december 2000 - 23:00 #27
\"Ring til mig på enogtyve femogfyrre bla bla blab balb\" - den kan jeg nok
IKKE klare - med mindre det regulære udtryk fylder 50 sider ;-)

Men ellers kan vi jo komme tæt på!
Avatar billede jper Nybegynder
28. december 2000 - 23:06 #28
Denne her skulle virke på den måde at alle numre bliver sorteret fra og skrevet ud, men der er ikke validering på om det er 8 tal da man jo godt kan have et udlands nummer
    Dim length
    Dim res
    Dim i
    Dim strValue
    Dim RealDeal
length = Len(Request.Form(\"fritext\"))
strValue = Request.Form(\"fritext\")
    For i = 1 To length
        res = Mid(strValue, i, 1)
        Select Case res
        Case \"1\"
            RealDeal = RealDeal & res
        Case \"2\"
            RealDeal = RealDeal & res
        Case \"3\"
            RealDeal = RealDeal & res
        Case \"4\"
            RealDeal = RealDeal & res
        Case \"5\"
            RealDeal = RealDeal & res
        Case \"6\"
            RealDeal = RealDeal & res
        Case \"7\"
            RealDeal = RealDeal & res
        Case \"8\"
            RealDeal = RealDeal & res
        Case \"9\"
            RealDeal = RealDeal & res
        Case \"0\"
            RealDeal = RealDeal & res
        End Select
    Next i
    Response.Write RealDeal
Avatar billede tdaugaard Nybegynder
28. december 2000 - 23:06 #29
E.J:> årrgg .. du må nok kunne presse det ned på et par lin.. sider ;o)

rasmusp:> Jeg er ved at få lavet et RegExp pattern til at erstatte tlf. nr. med \"\".
Avatar billede tdaugaard Nybegynder
28. december 2000 - 23:08 #30
jper:> så sletter du jo alle tal .. hvad nu hvis der er en der har skrevet \"Og så har jeg 3½ års erfaring med ASP\" .. så \"har\" han ligepludseligt kun ½ år *G*
Avatar billede jper Nybegynder
28. december 2000 - 23:10 #31
tdaugaard :> nej jeg gør ej jeg gemmer alle tal, kig nu lidt på koden :)
Avatar billede tdaugaard Nybegynder
28. december 2000 - 23:12 #32
jper:> jamen hvad skal man bruge det til npr han vil have fjernet tlf. nr. ?
Avatar billede jper Nybegynder
28. december 2000 - 23:15 #33
UPS jeg burde nok læse spørgsmålet *G*, øhhh Brug en if sætning istedet for select case, så er den hjemme. det samme kan man gøre med www og @ i hver sin FOR sætning
Avatar billede rasmusp Nybegynder
28. december 2000 - 23:15 #34
Det ville være super om der tjekkes på om der stod 10 tal indenfor f.eks. 15 karakterer, men det er ikke noget krav - bare lidt ønsketænkning.

F.eks. kunne brugeren skrive +45 xx xx xx xx eller(+45) xx xx xx xx og ville i så fald også blive \"fanget\":

\"Ring til mig på enogtyve femogfyrre bla bla blab balb\" behøves der vist ikke tjekkes for... :-)

Jeg ser frem til et bud på en kode\"stump\" der kan det hele (fjerne www, email og tlf.).
Avatar billede tdaugaard Nybegynder
28. december 2000 - 23:17 #35
Jeg har flg. indtil videre der fjerner 6 formatet af tlf. nr., email og www adresser..

<%
    Function FixString(strInput)
        Dim rgxArray(10)
       
        Set objRegExpHTTP1 = New RegExp
        Set objRegExpHTTP2 = New RegExp   
        Set objRegExpEMail = New RegExp
       
        For Index = 0 To 10
            Set rgxArray(Index) = New RegExp
            rgxArray(Index).Global = True
            rgxArray(Index).IgnoreCase = True
        Next

        \'([0-9]$[-\\s]*[0-9]$)
        rgxArray(0).Pattern = \"\\d{8}\"
        rgxArray(1).Pattern = \"\\d{4}-\\d{4}\"
        rgxArray(2).Pattern = \"(\\d{2}-){4}\"
        rgxArray(3).Pattern = \"\\d{2} \\d{2} \\d{2} \\d{2}\"
        rgxArray(4).Pattern = \"\\d{4} \\d{4}\"
        rgxArray(5).Pattern = \"\\d{2} \\d{3} \\d{3}\"
        rgxArray(6).Pattern = \"\\d{2}\"
        rgxArray(7).Pattern = \"telefon\"
        rgxArray(8).Pattern = \"tlf.\"
        rgxArray(9).Pattern = \"email\"
        rgxArray(10).Pattern = \"e-mail\"

        objRegExpHTTP1.Pattern = \"(http|ftp)(:\\/\\/[\\w\\._-]+\\.[\\w\\._-]+\\S*)\"
        objRegExpHTTP2.Pattern = \"(^|[^\\/])(www[^\\.\\s]?\\.[\\w\\._-]+\\.[A-Za-z]{2,3}\\S*)\"
        objRegExpEMail.Pattern = \"([\\w\\._-]+@[\\w\\._-]+\\.[A-Za-z]{2,3}\\S*)\"

        objRegExpHTTP1.Global = True
        objRegExpHTTP2.Global = True
        objRegExpEMail.Global = True

        objRegExpHTTP1.IgnoreCase = True
        objRegExpHTTP2.IgnoreCase = True
        objRegExpEMail.IgnoreCase = True

        strOutput = objRegExpEMail.Replace(strInput, \"\")
        strOutput = objRegExpHTTP1.Replace(strOutput, \"\")
        strOutput = objRegExpHTTP2.Replace(strOutput, \"\")
           
        For Index = 0 To 1
            strOutput = rgxArray(Index).Replace(strOutput, \"\")
        Next

        Set objRegExpHTTP2 = Nothing
        set objRegExpHTTP1 = Nothing
        Set objRegExpEMail = Nothing

        For Index = 0 To 10
            Set rgxArray(Index) = Nothing
        Next
       
        FixString = strOutput
    End Function
   
    strString = \"besøg min side på www.tdaugaard.dk og http://www.noget.dk, eller ring til mig på tlf, tlf., telefon 70 801 802, 88 88 88 88, 8888 8888, 8888-8888, 88888888\"

    Response.Write FixString(strString)
%>
Avatar billede tdaugaard Nybegynder
28. december 2000 - 23:18 #36
Grunden til at jeg bruger RegExp til \"telefon\", \"tlf.\" etc. er så jeg ikke skal slås med Replace() om case sensitivity..
Avatar billede tdaugaard Nybegynder
29. december 2000 - 00:38 #37
Case closed. Jeg har lavet det for rasmusp.
Avatar billede tdaugaard Nybegynder
29. december 2000 - 00:38 #38
Det blev til flg.

    Function FixString(strInput)
        Dim rgxArray(15)
       
        Set objRegExpHTTP1 = New RegExp
        Set objRegExpHTTP2 = New RegExp   
        Set objRegExpEMail = New RegExp
        Set objRegExpTlf = New RegExp
       
        objRegExpHTTP1.Pattern = \"(http|ftp)(:\\/\\/[\\w\\._-]+\\.[\\w\\._-]+\\S*)\"
        objRegExpHTTP2.Pattern = \"(^|[^\\/])(www[^\\.\\s]?\\.[\\w\\._-]+\\.[A-Za-z]{2,3}\\S*)\"
        objRegExpEMail.Pattern = \"([\\w\\._-]+@[\\w\\._-]+\\.[A-Za-z]{2,3}\\S*)\"

        objRegExpHTTP1.Global = True
        objRegExpHTTP2.Global = True
        objRegExpEMail.Global = True
        objRegExpTlf.Global = True
       
        objRegExpHTTP1.IgnoreCase = True
        objRegExpHTTP2.IgnoreCase = True
        objRegExpEMail.IgnoreCase = True
        objRegExpTlf.IgnoreCase = True

        strOutput = objRegExpEMail.Replace(strInput, \"\")
        strOutput = objRegExpHTTP1.Replace(strOutput, \"\")
        strOutput = objRegExpHTTP2.Replace(strOutput, \"\")

        rgxArray(0) = \"\\d{8}\"
        rgxArray(1) = \"\\d{4}(-| )\\d{4}\"
        rgxArray(2) = \"\\d{2}(-| )\\d{2}(-| )\\d{2}(-| )\\d{2}\"
        rgxArray(3) = \"\\d{3}(-| )\\d{3}(-| )\\d{2}\"
        rgxArray(4) = \"\\d{3}(-| )\\d{2}(-| )\\d{3}\"
        rgxArray(5) = \"\\d{2}(-| )\\d{3}(-| )\\d{3}\"
        rgxArray(6) = \"\\+\\d{2}\"
        rgxArray(12) = \"telefon\"
        rgxArray(13) = \"tlf.\"
        rgxArray(14) = \"email\"
        rgxArray(15) = \"e-mail\"

        For Index = 0 To 15
            If rgxArray(Index) > \"\" Then
                objRegExpTlf.Pattern = rgxArray(Index)
                strOutput = objRegExpTlf.Replace(strOutput, \"\")
            End If
        Next

        Set objRegExpHTTP2 = Nothing
        set objRegExpHTTP1 = Nothing
        Set objRegExpEMail = Nothing
        Set objRegExpTlf = Nothing
       
        FixString = strOutput
    End Function
Avatar billede rasmusp Nybegynder
29. december 2000 - 00:41 #39
Tak for input allesammen.

tdaugaard lavede lige præcis hvad jeg skulle bruge så de 500,- er på vej til ham.


Mvh
Rasmus
Avatar billede ultik Nybegynder
29. december 2000 - 18:02 #40
Du skal altså ikke føle dig for sikker ang. telefonnumrene den vil aldrig kunne fange f.eks.

Mit tele.fon n.r. er : Otte-Seks-.......
eller \"8,6,4,5,7,8,9..0\"

der er MANGE muligheder for at snyde censuren, og selv anmindelige brugere uden kendskab om systemet vil ikke være længe om at finde loopholes... 
Avatar billede rasmusp Nybegynder
29. december 2000 - 18:05 #41
Hej Ultik,

Tak for din kommentar.

Jeg forstår din \"bekymring\" om loopholes, og det er også derfor vi valgte _ikke_ at javascript validere på feltet, men at fjerne via ASP kode bagefter. Brugeren vil derfor i de fleste tilfælde aldrig finde ud af at hans ulovlige værdier er blevet fjernet :-)
Avatar billede ultik Nybegynder
29. december 2000 - 21:44 #42
nej, men jeg gætter på at det er til en slags profil ting ? det er typisk sådant et script man vil have på evt. en dating site........ og i så fald vil han kunne se at det ikke står der......
Avatar billede rasmusp Nybegynder
29. december 2000 - 22:31 #43
True, det er til et jobsite (www.it-jobbank.dk), men funktionen skal ikke stå for sig selv - den er bare for at lette arbejdet, da en e-mail med kopi af hvert nyt CV eller når en bruger retter sit CV bliver sendt til manuel validering.
Avatar billede ultik Nybegynder
30. december 2000 - 06:16 #44
ok, det er en god politik, kan dog blive noget af en arbejdsbyrde.........
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