اعتبار سنجی فایل آپلود شده با استفاده از Regular Expression در Java Script و JQuery
شنبه 1 فروردین 1394در این مقاله نحوه اعتبارسنجی فایل قبل از آپلود با استفاده از Regular Expression شرح داده میشود .
اعتبار سنجی پسوند فایل و نمایش پیغام خطا در صورت معتبر نبودن فایل آپلود شده توسط کاربر با استفاده از دستورات Regular Expression می توانیم کنترل مورد نظر را اعتبارسنجی کنیم :
Regular Expression برای فایل های pdf و word Document :
([a-zA-Z0-9\s_\\.\-:])+(.doc|.docx|.pdf)$
Regular Expression برای تصاویر :
([a-zA-Z0-9\s_\\.\-:])+(.png|.jpg|.gif)$
Regular Expression برای متن :
([a-zA-Z0-9\s_\\.\-:])+(.txt)$
Regular Expression برای فایل Exel :
([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$
تگ های Html مربوط که شامل یک کنترل FileUpload , span , و یک دکمه Submit میباشد را به صفحه اضافه می کنیم و زمانی که دکمه Submit کلیک شد یک آرایه توسط JavaScript ساخته میشود که مقدار کنترل FileUploader در آن قرار میگیرد و اعتبار سنجی میشود .مانند کد زیر :
<form action="" method="post"> <script type="text/javascript"> function ValidateExtension() { var allowedFiles = [".doc", ".docx", ".pdf"]; var fileUpload = document.getElementById("fileUpload"); var lblError = document.getElementById("lblError"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + allowedFiles.join('|') + ")$"); if (!regex.test(fileUpload.value.toLowerCase())) { lblError.innerHTML = "Please upload files having extensions: <b>" + allowedFiles.join(', ') + "</b> only."; return false; } lblError.innerHTML = ""; return true; } </script> <input id="fileUpload" type="file" /> <br /> <span id="lblError" style="color: red;"></span> <br /> <input type="submit" id="btnUpload" value="Upload" onclick="return ValidateExtension()" /> </form>
همچنین اعتبارسنجی فایل قبل از آپلود توسط JQuery نیز به صورت زیر میباشد :
<form action="" method="post"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $("body").on("click", "#btnUpload", function () { var allowedFiles = [".doc", ".docx", ".pdf"]; var fileUpload = $("#fileUpload"); var lblError = $("#lblError"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + allowedFiles.join('|') + ")$"); if (!regex.test(fileUpload.val().toLowerCase())) { lblError.html("Please upload files having extensions: <b>" + allowedFiles.join(', ') + "</b> only."); return false; } lblError.html(''); return true; }); </script> <input id="fileUpload" type="file" /> <br /> <span id="lblError" style="color: red;"></span> <br /> <input type="submit" id="btnUpload" value="Upload" /> </form>
- ASP.net
- 2k بازدید
- 3 تشکر