webForumDet fria alternativet

regExp validation

6 svar · 264 visningar · startad av monAmour

monAmourMedlem sedan dec. 2002258 inlägg
#1

Bygger en liten sökmotor förnärvarande och vill med javascript se följande:

Om användaren har valt "artnr" i en selectmeny så ska bara användaren kunna söka med ett sökord innehållande siffror och ett "-" bindesträck.
Jag har testat följande:

// VALIDATE SEARCH
function validateSearch() {
	
	var s = document.searchForm.string;
	var searchType = document.searchForm.string_type.options[document.searchForm.string_type.options.selectedIndex].value;
	var pattern = "/[0-9]\-/";

	if (s.value == "") {
		alert("Du måste ange ett sökord!\n");
		return false;
	}
	else if (searchType == "artnr" && s.value.pattern.test() == false) {
		alert("Om du gör en artikelnummerbaserad sök\nska endast ditt sökord bestå av siffror!\n");
		return false;
	}
}

Jag har rätt hänvisningar till mitt formulär så det är inte där det brister, så jag förmodar att min RegExp är fel.
Är inte så hajj på det där än!
Hur ska den se ut?

Hydr0maticMedlem sedan sep. 2001118 inlägg
#2

testa

else if (searchType == "artnr" && pattern.test(s.value) == false) {

Hydr0maticMedlem sedan sep. 2001118 inlägg
#3

och testa

var pattern = "/[0-9\-]*/";

monAmourMedlem sedan dec. 2002258 inlägg
#4

Nu kör jag:

function p_validateSearch() {
	
	var s = document.p_searchForm.string;
	var searchType = document.p_searchForm.string_type.options[document.p_searchForm.string_type.options.selectedIndex].value;
	var pattern = "/[0-9\-]*/";

	if (s.value == "") {
		alert("Du måste ange ett sökord!\n");
		return false;
	}
	else if (searchType == "artnr" && pattern.test(s.value) == false) {
		alert("Om du gör en artikelnummerbaserad sök\nska endast ditt sökord bestå av siffror!\n");
		return false;
	}
}

men den reagerar inte alls med alert():en om jag t.ex. bara skrivit in bokstäver i min input istället för rena siffror..
några andra pattern förslag?

Hydr0maticMedlem sedan sep. 2001118 inlägg
#5

hmm.. testa "/^[0-9\-]+$/"

monAmourMedlem sedan dec. 2002258 inlägg
#6

verkar inte fungera heller, den verkar mest ignorera hela (else if) satsen lixom.. postar bara iväg formuläret...

Hydr0maticMedlem sedan sep. 2001118 inlägg
#7

ok.. testa att bara alerta alla variabler och kontrollera så att de innehåller de värden du tror att de innehåller ...

140 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)