webForumDet fria alternativet

regExp validation

JavaScriptur Javascript

6 svar · 264 visningar · startad av monAmour

Medlem sedan dec. 2002258 inlägg
Frågan#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?

Medlem sedan sep. 2001118 inlägg
#2

testa

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

Medlem sedan sep. 2001118 inlägg
#3

och testa

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

Medlem 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?

Medlem sedan sep. 2001118 inlägg
#5

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

Medlem 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...

Medlem 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 ...

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