Leerstellen erlauben

Thomas_Jung

Erfahrenes Mitglied
hallo
folgendes script prüft das nur zahlen eingegeben sind das soll auch so sein
aber es soll auch möglich sein mehrere zahlen einzugeben z.b. 1 5 100 1000 u.s.w
kennt jemand eine lösung? :confused:
gruß
thomas

<!--
function chka_ordner_id()
{
if(document.a_ordner_id.archivsearch.value == "") {
alert("Geben Sie einen oder mehrere Suchbegriffe ein, die ihrer Suche am besten entsprechen. Ihre Suchbegriffe sollten mindestens eine Länge von 2 Zeichen haben. Auf Groß-/Kleinschreibung müssen Sie nicht achten.\nTrennen Sie einzelne Wörter bitte mit einem Leerzeichen.");
document.a_ordner_id.archivsearch.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.a_ordner_id.archivsearch.value.length;++i)
if(document.a_ordner_id.archivsearch.value.charAt(i) < "0"
|| document.a_ordner_id.archivsearch.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1) {
alert("AF-ID´s bestehen ausschliesslich aus Zahlen!");
document.a_ordner_id.archivsearch.focus();
return false;
}
}
//-->
 
Da bieten sich regläre Ausdrücke an:
Code:
<script type="text/javascript">
<!--
function chka_ordner_id()
{
    strValue=document.a_ordner_id.archivsearch.value;

    //Prüfen, ob etwas eingegeben wurde(ausser Leerzeichen)
    if(!strValue.match(/\S/))
        {
        alert('Nix eingegeben');
        document.a_ordner_id.archivsearch.focus();
        return false;
        }
        
    //Prüfen, ob ein Zeichen eingegeben wurde, werlches keine Ziffer oder Leerzeichen ist
    if(strValue.match(/[^\s\d]/))
        {
        alert('AF-ID´s bestehen ausschliesslich aus Zahlen!');
        document.a_ordner_id.archivsearch.focus();
        return false;
        }
    return true;
}
//-->
</script>

Im ersten Abzweig wird geprüft, ob ein Zeichen eingegeben wurde, welches kein Leerzeichen ist...\S ist der reguläre Ausdruck für diese Zeichen.
....dies ist sinnvoller, denn die Abfrage
Code:
 if(document.a_ordner_id.archivsearch.value == "")
...trifft nicht zu, wenn nur Leerzeichen eingegeben wurden.

Im 2ten Abzweig wird geprüft, ob Zeichen ausser Zahlen eingegeben wurden...

\d =>regulärer Ausdruck für Ziffern
\s =>regulärer Ausdruck für Zahlen

Das circumflex negiert dabei diese Ausdrücke.

Fertig :)
 
Zurück