|
|
|
| 2 функции, одна вызывается из другой:
function check_field(field,pat)
pattern1=/^[а-яА-Я]{2,}$/gi;
pattern2=/^[а-яА-Я\d\s]{2,}$/gi;
pattern3=/^[\d]{6,}$/gi;
pattern4=/^[\d]{4}$/gi;
pattern5=/^[\d]{6}$/gi;
{
pattern=pat;
alert(pat);
if (pattern.test(field.value))
{
field.className='correct';
return true;
}
else
{
field.className='incorrect';
//event.returnValue=false;
return false;
};
}
|
function check_form()
{
var cnt=0;
if(false==check_field(document.emp.elements[0],pattern1))cnt++;
if(false==check_field(document.emp.elements[1],pattern1))cnt++;
if(false==check_field(document.emp.elements[2],pattern1))cnt++;
if(false==check_field(document.emp.elements[6],pattern2))cnt++;
if(false==check_field(document.emp.elements[8],pattern4))cnt++;
if(false==check_field(document.emp.elements[9],pattern5))cnt++;
if(false==check_field(document.emp.elements[10],pattern2))cnt++;
if(cnt!=0)
{
alert("Проверьте введенные значения! Неверные выделены желтым фоном");
event.returnValue=false;
}
}
|
Для одного и того же паттерна (например, pattern1)функция работает через раз. Если же прописать во входных аргументах функции паттерн, к примеру, вот таким образом:
if(false==check_field(document.emp.elements[7],/^[\d]{6}$/gi))cnt++;
|
то все работает. Как сделать, чтобы функция исправно работала и при использовании переменной в качестве исходного аргумента? | |
|
|
|
|
|
|
|
для: Woland
(03.11.2007 в 17:17)
| | попробовал убрать из шаблонов флаг "g" , заработало.
он там лишний | |
|
|
|
|
|
|
|
для: EXP
(03.11.2007 в 19:58)
| | Действительно, заработало. Спасибо! | |
|
|
|