Avatar billede leasing Nybegynder
23. september 2002 - 09:14 Der er 16 kommentarer og
1 løsning

Validering af notatfelt

Jeg skal validere et notatfelt hvor der kun må indtastes:
tal 0-9
bogstaver (små-store)
samt tegnene ,.?-!%():

Håber der er nogen der kan hjælpe.
Avatar billede limemedia Nybegynder
23. september 2002 - 09:32 #1
kunne fx se sådan ud

<script language="JavaScript" type="text/javascript">
<!--
    function verify_memo(str) {
        if(!str.match(/^[\w,.\\?!%\\-\\(\\)]+$/i)) {
            return false;
        } else {
            return true;
        }
    }
//-->
</script>


/ LJ
www.ljweb.com
Avatar billede leasing Nybegynder
23. september 2002 - 09:37 #2
ljweb> Tak for svar. Dumt spørgsmål: Hvis nu mit notatfelt hedder "Optakt" - hvor skal jeg skrive feltets navn?
Mit kendskab til javascript er meget minimalt.
Avatar billede limemedia Nybegynder
23. september 2002 - 09:41 #3
hvis du skriver din formular her, kan jeg flette det ind for dig. Koden er lavet generelt så det kan anvendes på et ubegrænset antal felter
Avatar billede leasing Nybegynder
23. september 2002 - 09:54 #4
Når jeg afsender min form hentes en fil der hedder checkinput.js. I denne ligger flere functioner, men en af dem som jeg anvender i denne form er nedenstående:

function checkTekster() {

    if (document.tekster.optakt.value.length==0) {
        alert("Skriv venligst indholdet.");
        document.optakt.indhold.focus();
        return false;
    }
}

Som du kan se tjekkes feltet Optakt blot om det er tomt eller ej. Men idet at feltet skal gemmes i en database er det ikke alle tegn databasen vil godkende når der gemmes.
Der kommer flere valideringer i samme function!

Håber du kan få den kædet ind her.
Avatar billede leasing Nybegynder
23. september 2002 - 09:55 #5
Skulle se sådan ud:

function checkTekster() {

    if (document.tekster.optakt.value.length==0) {
        alert("Skriv venligst indholdet.");
        document.tekster.optakt.focus();
        return false;
    }
}
Avatar billede limemedia Nybegynder
23. september 2002 - 10:05 #6
noget ala
<script language="JavaScript" type="text/javascript">
<!--
    function verify_memo(str) {
        if(!str.match(/^[\w,.\\?!%\\-\\(\\)]+$/i)) {
            return false;
        } else {
            return true;
        }
    }
   
    function checkTekster() {
        if (document.tekster.optakt.value.length==0) {
            alert("Skriv venligst indholdet.");
            document.tekster.optakt.focus();
            return false;
        }

        if (!verify_memo(document.tekster.optakt.value)) {
            alert("Indeholder ugyldige tegn");
            document.tekster.optakt.focus();
            return false;
        }
    }
//-->
</script>


burde virke
Avatar billede leasing Nybegynder
23. september 2002 - 10:14 #7
Jeg glemte lige at jeg har brug for følgende tegn <>/\

Hvordan får jeg dem ind...har forsøgt, men det virkede ikke.
Avatar billede limemedia Nybegynder
23. september 2002 - 10:23 #8
må være noget ala
if(!str.match(/^[\w,.\\?!%\\-\\(\\)<>\\/\\\]+$/i)) {
Avatar billede leasing Nybegynder
23. september 2002 - 11:05 #9
Nu ser det ud som om at alle tegn er lovlige.
Avatar billede limemedia Nybegynder
23. september 2002 - 11:09 #10
med alle de tegn du har der er lovlige, måske det var nemmere at sige hvilke der *ikke* er lovlige ?
Avatar billede leasing Nybegynder
23. september 2002 - 11:12 #11
lyder måske som en bedre ide, hvordan gør så det????
Avatar billede limemedia Nybegynder
23. september 2002 - 12:07 #12
hvilke tegn drejer det sig om ?
Avatar billede leasing Nybegynder
23. september 2002 - 12:41 #13
Det drejer sig om følgende tegn:
'=¨^~*"&|\´`
Avatar billede limemedia Nybegynder
23. september 2002 - 13:33 #14
i Kommentar: leasing 23/09-2002 10:14:43 angav du at \ tegnet var lovligt og nu ulovligt... jeg retter scriptet til
Avatar billede leasing Nybegynder
23. september 2002 - 13:36 #15
ja det da rigtigt. Tegnet skal i tekstmæssig forstand ikke bruges til noget, så derfor ulovligt.
Avatar billede limemedia Nybegynder
24. september 2002 - 07:35 #16
backslashet volder lidt problemer... men resten virker her

function verify_memo(str) {
    if(str.match(/[\'=¨&|´`~\"\^\*]+/i)) {
        return false;
    } else {
        return true;
    }
}
Avatar billede leasing Nybegynder
24. september 2002 - 10:52 #17
Så virker det undtagen med det backslash...lidt underligt.
Point til dig og tak for hjælpen.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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