RegExp.match в JS проблемы

dimases

Новичок
RegExp.match в JS проблемы

Никак не могу понять следующее =(((

есть
function regtt(value,pattern){
var offendingChar = value.match(pattern);
if(offendingChar != null) {
alert('Недопустимый символ');
}
}

Не пашет.

Если же написать:

var offendingChar = value.match(/[34]/gi);

работает...

Как правильно передать паттерн?

Пробовал, как по доке:
var re = new RegExp(pattern);
var offendingChar = value.match(re);

Тож не пашет =(


Доки прочитал, по форуму поиском ответа не нашел =( Подскажите, как это сделать?

-~{}~ 14.07.05 22:29:

Сам разобрался, нашел одну доку пример достойно показан.

Если кому интересно, вот код:

<SCRIPT LANGUAGE="JavaScript1.2">
function validate() {
var str = "";
var elements = document.getElementsByTagName('input');

for(var i = 0; i < elements.length; i++) {
var pattern = elements.item(i).getAttribute('pattern');
var patternflags = elements.item(i).getAttribute('patternflags');
if (pattern != null) {
var value = elements.item(i).value;

re = new RegExp(pattern,patternflags);
var offendingChar = value.match(re);
if(offendingChar != null || value.length == 0) {

str += elements.item(i).getAttribute('errorMsg') + "\n";
}
}
}

if (str != "") {
alert("ERROR ALERT!!\n" +str);
return false;
} else {
return true;
}
}
</script>

<form name=aaa onsubmit="return validate()">
<input type="text" name="age"
pattern="[34]"
patternflags="g"
errorMsg="Ошибка" />
</form>
 
Сверху