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>
Никак не могу понять следующее =(((
есть
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>