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