Привет, я просто установил функцию проверки в jScript для проверки имени файла в элементе управления загрузкой файла [тип файла ввода]. Функция работает нормально в FF и иногда в ie, но никогда в Chrome. По существу, функция проверяет, является ли имя файла длиной от 1 символа до 25 символов. Содержит в списке только допустимые символы, цифры [без пробелов] и типы файлов. Не могли бы вы пролить свет на это * 1003? *
function validate(Uploadelem) {
var objRgx = new RegExp(/^[\w]{1,25}\.*\.(jpg|gif|png|jpeg|doc|docx|pdf|txt|rtf)$/);
objRgx.ignoreCase = true;
if (objRgx.test(Uploadelem.value)) {
document.getElementById('moreUploadsLink').style.display = 'block';
} else {
document.getElementById('moreUploadsLink').style.display = 'none';
}
}
EDIT:
Нет, похоже, не работает, я использую IE 8 (перепробовал все режимы совместимости), Chrome v8.0, FF v 3.6.
Вот HTML-фрагмент, в котором я подключил функцию проверки,
<div>
<input type="file" name="attachment" id="attachment" onchange="validate(this)" />
<span class="none">Filename should be within (1-25) letters long. Can Contain only letters
& numbers</span>
<div id="moreUploads">
</div>
<div id="moreUploadsLink" style="display: none;">
<a href="javascript:addFileInput();">Attach another File</a></div>
</div>
У меня отлично работает. Как вы вызываете функцию проверки? - M42
Вы пробовали это в Google Chrome и IE 8? я добавил HTML-фрагмент, где я использовал все рекомендуемые regX. Никаких подсказок о том, почему не работает !!
Майк, я не могу комментировать твой пост здесь, так что это для тебя.
Сбой проверки, для которого когда-либо файл я выбираю во входных данных HTML. Я также проводил валидацию в событии onblur, но доказывает то же самое. Функция validate будет имитировать валидатор регулярных выражений asp.net, который отображает сообщение об ошибке валидации, когда регулярное выражение не встречается.