提交圖片校檢

来源:http://www.cnblogs.com/wewin/archive/2017/11/19/7861275.html
-Advertisement-
Play Games

目的:在提交表單之前用JavaScript檢查下是不是圖片文件以及大小 註:match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值(存放匹配結果的數組),而不是字元串的位置。 ...


目的:在提交表單之前用JavaScript檢查下是不是圖片文件以及大小

 1 <script type="text/javascript">
 2 
 3   function checkFileExt(ext) {
 4     if (!ext.match(/.jpg|.gif|.png|.bmp/i)) {//匹配以.jpg或.GIF或....結尾的任意字元串,大寫或小寫無所謂
 5       return false;
 6       }
 7     return true;
 8   }
 9 
10    function toVaild(){
11 
12     var imagesfile = document.getElementById("imagesfile").value;
13 
14     if(imagesfile!=null&&imagesfile.replace(/(^\s*)|(\s*$)/g, "")!=""&&imagesfile!=undefined){ 
15       var img = document.getElementById("imagesfile");
16       var filePath = img.value;
17       var fileExt = filePath.substring(filePath.lastIndexOf("."))
18         .toLowerCase();//將所有的英文字元轉換為小寫字母
19       var sizeint=0;
20       if (!checkFileExt(fileExt)) {
21         alert("您上傳的文件不是圖片,請重新上傳!");
22         return false;
23       }
24       if (img.files && img.files[0]) {
25         sizeint=(img.files[0].size / 1024).toFixed(0);
26         //alert('你選擇的文件大小' + (img.files[0].size / 1024).toFixed(0) + "kb");
27       } else {
28         img.select();
29         var url = document.selection.createRange().text;
30         try {
31           var fso = new ActiveXObject("Scripting.FileSystemObject");
32           } catch (e) {
33             alert('如果你用的是ie8以下 請將安全級別調低!');
34           }
35         sizeint=(fso.GetFile(url).size / 1024).toFixed(0);
36         //alert("文件大小為:" + (fso.GetFile(url).size / 1024).toFixed(0) + "kb");
37       }
38       if(sizeint>5120){
39         alert("抱歉 您所上傳的圖片大於5M 請選擇低於5M的圖片上傳")
40         return false;
41       }
42     }
43 </script>
1 <form action="" method="post" enctype="multipart/form-data" onsubmit="return toVaild()">
2 <input type="file" id="imagesfile" name="imagesfile" placeholder="">
3 
4 <center><button type="submit" class="am-btn am-btn-danger">提交</button>  </center>
5 
6 </form>

 註:match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值(存放匹配結果的數組),而不是字元串的位置。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 蒼蒼之天不得久視,堂堂之地不得久履 當你小心翼翼的開啟服務端渲染的同時,一個問題不得不註意,使用記憶體模式去保存渲染過的頁面,這樣服務斷掉重啟後,緩存也沒有了,所以這裡我們使用mongdodb進行本地化存儲 讀在最前面: 1、本文主題:使用mongodb 進行 預渲染的本地化緩存服務 2、主機環境為W ...
  • 一,在項目中引入jquery-easyui 二,靜態資源映射 1)<mvc:resources mapping="/jquery-easyui-1.5.2/**" location="/easyui/" /> 三,頁面配置 1)在head中引入: <link rel="stylesheet" typ ...
  • 一,下載地址:http://ueditor.baidu.com/website/download.html 1)根據需要下載相應版本 例 Java:選擇jsp+utf-8; 二,放置在項目中 1)解壓下載文件,並重命名為editor; 2)複製文件放置在項目webapp目錄下; 3)把editor目 ...
  • 在學習廖雪峰前輩的JavaScript教程中,遇到了一些需要註意的點,因此作為學習筆記列出來,提醒自己註意! 如果大家有需要,歡迎訪問前輩的博客https://www.liaoxuefeng.com/學習。 比較運算符 當我們對Number作比較時,可以通過比較運算符得到一個布爾值,這是我們預期的結 ...
  • 在學習廖雪峰前輩的JavaScript教程中,遇到了一些需要註意的點,因此作為學習筆記列出來,提醒自己註意! 如果大家有需要,歡迎訪問前輩的博客https://www.liaoxuefeng.com/學習。 JavaScript的字元串就是用 ' ' 或者 “ ” 括起來的字元表示。 如果字元串內部 ...
  • Vue2.0和1.0實現路由的方法有差別,現在我用Vue 2.0實現路由跳轉,話不多說,直接上代碼 HTML代碼 main.js 代碼 ...
  • Point類除了構造方法,還定義了一個toString方法。註意,定義“類”的方法的時候,前面不需要加上function這個關鍵字,直接把函數定義放進去了就可以了。另外,方法之間不需要逗號分隔,加了會報錯。 Point類除了構造方法,還定義了一個toString方法。註意,定義“類”的方法的時候,前 ...
  • 絮叨絮叨 今天給大家分享一下這兩天自己整理的JavaScript部分的筆記,下麵都是我覺得比較常用的,希望能幫助到大家! 1、 導入JS的三種方式 ①在HTML標簽中,直接內嵌JS。<button onclick=”func()”></button> ②在HTML頁面中使用<script></scr ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...