donnerkai

Javascript Prüfung nach Wert

Hallo,

ich möchte mit einem Javascript abprüfen ob eine Eingabe in einem Textfeld einem vorher definiertem Katalog entspricht.

Ich habe es zunächst so gelöst:

if (document.Formular.Kontrollnummer.value==524||document.Formular.Kontrollnummer.value==523)
{
alert("Die Nummer ist falsch");
document.Formular.jvanummer.focus();
return false;
}


jetzt möchte ich aber nicht nur auf die 523 und 524 prüfen, sondern auf 50 weitere Werte.
Gibt es dafür eine kürzere Lösung als meine?
Sonst muss ich den Teil: document.Formular.Kontrollnummer.value==524||
ja 50 mal schreiben.

Für eine Lösung wäre ich dankbar
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 196748

Url: https://administrator.de/forum/javascript-pruefung-nach-wert-196748.html

Ausgedruckt am: 29.07.2025 um 20:07 Uhr

Hitman4021
Hitman4021 10.01.2013 um 12:04:55 Uhr
Hallo,

ja gibt es.

Ungetestet!
suchbegriff = new Array(523, 524, ..., element_n);

if (notinArray(suchbegriff, document.Formular.Kontrollnummer.value)
{
alert("Die Nummer ist falsch");  
document.Formular.jvanummer.focus();
return false;
}

function notinArray(arr, val){
	for(i = 0; i < arr.length; i++){
		if (arr[i] == val) return false;
	}
	return true;
}

Gruß
nxclass
nxclass 10.01.2013 aktualisiert um 13:57:19 Uhr
Hallo,
möchte dazu noch meinen Senf geben:
/**
 * PHP's in_array() alias 
 * @param value   mixed value
 * @return bool
 */
Array.prototype.hasValue = function(value)
{
    for (var key in this ) {
        if (
            ( Object.prototype.toString.call( this[key] ) === '[object Array]' && this[key].hasValue(value) )  
            || this[key] === value
        ) {
            return true;
        }
    }
    return false;
}
nun kannst du einfach prüfen mit:
/* @var myval  dein Array mit den Werten */
if (myval.hasValue( 3 )) { }

... die 50 Werte kannst du Dir auch dyn. holen wenn diese nicht im JS stehen sollen.
Hitman4021
Hitman4021 11.01.2013 um 12:00:38 Uhr
Hallo,

wenn es das war
Wie kann ich einen Beitrag als gelöst markieren?
nicht vergessen.

Gruß