Во-первых выбрасывайте из атрибутов полей " if(yratext.test(this.value)) alert('Invalid value...". Во-вторых шаблон рег. выражения для проверки хранить в атрибуте pattern, и вместо js-кода в атрибутах определять сценарий - при отправлении формы проверить ввод, если определен pattern, значит рег выражением по этому шаблону. Поведение такого поля при некорректном вводе может определяться и стилями. И вообще, параметры могут быть различными (говорилось же о списках), и если это для себя, то может проще определить допустимые наборы, а свободный ввод, это типа для url.
Очень сложно что-то советовать, когда не видно концепции, а есть какие-то куски не понятно чего и для чего.