Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Можно ли как-то условие match() через переменную использовать? (https://javascript.ru/forum/misc/3079-mozhno-li-kak-uslovie-match-cherez-peremennuyu-ispolzovat.html)

Tend 16.03.2009 18:27

Можно ли как-то условие match() через переменную использовать?
 
Есть много проверок типа:
if ( !fnm.value.match(/^[\S]+@[\S]+\.[\S]{2,}$/i) ) { alert("fnm false"); }
if ( !fty.value.match(/^[1-9]{1}[0-9]*$/) ) { alert("fty false"); }
...

...
Можно ли как-то эти все match'и через функцию проганять?
Что-то типа:
function matches(mat, fid)
{
	if ( !fty.value.match( mat ) )
	{
		alert(fid+" false");
	}
}
matches("/^[\S]+@[\S]+\.[\S]{2,}$/i", "fnm");

Но так не работает.
В общем, можно ли как-то оптимизировать данное?

Gvozd 16.03.2009 18:52

во первых прочитайте статью, для общего обозрения.
там написано о жвух способах создания регулярного выражения
во вторых в вашем случае функцию в таком виде слежует вызывать так
matches(/^[\S]+@[\S]+\.[\S]{2,}$/i, "fnm");


Часовой пояс GMT +3, время: 09:37.