`

javascript 验证上传txt文件的格式

阅读更多
忙了一天,从网上找了一些 相关资料,完成了对上传txt文件的格式 验证问题。有所收获吧,在此记录一下,以备后用啊。

<html>
<head>
<script language="javascript" type="text/javascript">
//把一行中的多个空格替换为 一个空格
function rowOper(StrKey){ 
 var reg  = /^ {0,}| {0,}$/g
 StrKey   = StrKey.replace(reg, "");
  reg      = / {1,}/g
  StrKey   = StrKey.replace(reg, " ");
 return StrKey;
}
/*
验证短信内容的格式,一个或多个空格作为分隔符号
每行为2列,为即时发送
每行为4列,为定时发送,时间格式为:yyyy-mm-dd hh[:mi:ss]
*/
function checkContent(){          
 var value = document.getElementById("msgcontent").value;
 var arr= value.split("\n");//按行分割
 var rows = arr.length;//得到 行数
 var row1 = rowOper(arr[0]);//得到第一行的数据,一个空格作为分隔符号
 var len = row1.length;//得到列数 
 //alert(len);
 if(len>2){//定时发送,判断时间格式是否为 yyyy-mm-dd hh[:mi:ss]
  var result = false;//默认时间格式不正确
  for(i=0;i<rows;i++){
   var cur= rowOper(arr[i]); //当前行的数据  
     if(cur.split(" ").length>3){
       var temp = cur.split(" ");
       var time = temp[2] +" "+ temp[3];
       //alert(time);
       result = testTime(time,i);//验证时间
       if(!result){//时间格式不正确,只提示一次,上传不可用
        document.getElementById("submit").disabled = true;
        return ;
       }
    }else{//数据为三列,时间列时/分/秒无值
    alert("第"+(i+1)+"行时/分/秒无值!!请参照右边的格式,设置数据格式");
    return ;
   }  
    }
    if(result){//时间格式正确 ,可以提交发送。
      //提交前数据不可编辑,readOnly的O一定要大写,若需再编辑,提交时取消既可。
      document.getElementById("msgcontent").readOnly = true;
      document.getElementById("submit").disabled = false;
    }
    }else if(len==2){//即时发送 数据格式 验证
       for(i=0;i<rows;i++){
       var cur= rowOper(arr[i]);
       var temp = cur.split(" ");
       if(temp.length>2){
          alert("即时发送数据格式错误!!只能有两列数据,以空格分隔"); 
          document.getElementById("submit").disabled = true;
     return ;
       }
    }
   alert("可以即时发送了"); 
   document.getElementById("submit").disabled = false;
 }else{
  alert("请上传文件"); 
  document.getElementById("submit").disabled = true;
 }
}       
function testTime(time,curRow){  
//对日期格式进行验证 要求为2000-2099年 格式为 yyyy-mm-dd hh[:mi:ss] 并且可以正常转换成正确的日期   
  var pattern = /^(\d{4}-((0[1-9]{1})|(1[0-2]{1}))-((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))){1}(\s(\d{2}){1}(:\d{2})?(:\d{2})?)$/;
  if(!pattern.test(time)) {
      alert("第"+parseInt(curRow+1)+"行时间格式不正确,正确格式为yyyy-mm-dd hh[:mi:ss].请重新设置!");
      return false;
  }
    return true;
}  
//上传文件的格式 验证         
function checkUpload(){
 var file = document.getElementById("ffile").value;
 if(!file){
  alert("请选择文件!!");
  return false;
 }
 var pattern = /.*\.((t|T)(x|X)(t|T))$/;
 var pattern1 = /.*\.((x|X)(l|L)(s|S))$/;
  
    if(pattern.test(file)||pattern1.test(file)) {
     upload.submit();//    
    }else{
  alert("不是txt或excel文件,请重新选择文件!");
        return false;
   }
}
</script>
</head>
<body>
<hr>
  <form id="upload" action="#"
   enctype="MULTIPART/FORM-DATA" method="post">
   <font color="red" size="1">请上传个性化短信文件:</font>
   <input type="file" name="file" id="ffile" />
   <input type="submit" value="上传" onclick="return checkUpload()" />
   <!-- " -->
  </form>
<table border="0" width="100%" align="center">
   <tr>
    <td>
     <textarea id="msgcontent" cols="70" rows="10">13578945685 aaaaaaaaaaaaa 2009/09/18 12:12:12
15555555555 cccccccccccccccccccc 2009/09/18
18888888888 ddddddddddddddddddddd 2009/09/18</textarea>
    </td>
    <td width="40%" bgcolor="#eef2fb">
     <p>
      请上传TXT格式或者Excel表格形式的数据.
     </p>
     <p>
      数据格式:手机号码 短信内容 发送时间(可选)
     </p>
     <p>
      时间格式:yyyy-mm-dd hh[:mi:ss]
     </p>
     <br>
     <p>
      举例1(定时发送):
     </p>
     <p>
      13xxxxxxxx 您好,欢迎使用短信平台。 2009-11-28 12:32:25
     </p>
     <p>
      15xxxxxxxx 您好,欢迎使用短信平台。 2009-11-28 12:32
     </p>
     <p>
      18xxxxxxxx 您好,欢迎使用短信平台。 2009-11-28 12
     </p>
     <br>
     <p>
      举例2(即时发送):
     </p>
     <p>
      13xxxxxxxx 您好,欢迎使用短信平台。
     </p>
    </td>
   </tr>
  </table>
  <br>
  <br>
  <center>
   <form id="form1" method="post" action="">
    <input type="button" value="数据格式验证" onclick="checkContent()">
    <input type="submit" value="发送" onclick="PSend()" id="submit"
     disabled="disabled">
   </form>
  </center>
  <div id="showTips"></div>
</body>
</head>

文章出处:DIY部落(http://www.diybl.com/course/1_web/javascript/jsjs/20091129/183729.html)
分享到:
评论

相关推荐

    ExtJS验证上传文件类型

    ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...

    js验证上传图片 大小 格式

    在IT领域,特别是前端开发中,JavaScript(JS)被广泛应用于网页交互与数据验证,其中对上传图片的大小和格式进行验证是常见的需求之一。本文将深入解析如何使用JavaScript进行图片上传前的验证,包括检查图片格式、...

    js验证上传swf文件格式的大小

    在IT行业中,前端开发经常会遇到用户上传文件的需求,而对上传文件的格式和大小进行验证是确保系统稳定性和用户体验的重要环节。本知识点主要探讨如何使用JavaScript(js)来验证SWF(Shockwave Flash)文件的格式,...

    上传文件验证表单

    本项目名为“上传文件验证表单”,它利用了Bootstrap框架进行页面布局,并采用了Webuploader插件来处理文件上传。下面将详细讨论这两个主要知识点。 **Bootstrap框架** Bootstrap是一个流行的开源HTML、CSS和...

    ASP Javascript 文件上传

    注意`enctype="multipart/form-data"`,这是必须的,因为它指示浏览器以多部分/二进制格式发送数据,适合上传文件。 3. **JavaScript部分**: 使用JavaScript可以添加验证或预处理步骤,例如检查文件类型、大小等...

    JavaScript多文件上传

    JavaScript多文件上传是一种常见的Web开发功能,允许用户一次性选择并上传多个文件到服务器。这个功能在现代网页应用中尤其重要,比如社交媒体平台、云存储服务和文件协作工具等。在这个场景下,JavaScript作为...

    JavaScript判断上传文件大小的限制脚本

    在网页应用中,用户上传文件是一项常见的功能,但为了服务器性能和用户体验,通常需要对上传文件的大小进行限制。本文将深入探讨如何使用JavaScript来实现这一功能,通过前端验证,防止大文件上传导致的网络延迟或者...

    js控制上传文件格式

    ### JavaScript 控制上传文件格式详解 #### 一、背景介绍 在Web开发中,经常会遇到用户上传文件的需求。为了确保用户上传的是预期类型的文件(例如图片文件),开发者通常需要对上传文件的格式进行验证。本篇文章...

    javascript实现限制上传文件大小

     项目中经常用到需要上传文件、照片等功能,同时需要限制所上传文件的大小。很多插件都会采用后台请求验证,前端Js校验比较少。本篇介绍一个前端JS便捷判断上传文件大小的方法。 这个是比较好的 &lt;html&gt; &lt;...

    javascript控制上传文件的大小及文件类型

    ### JavaScript 控制上传文件的大小及文件类型 在现代Web应用开发中,文件上传功能非常常见,例如用户可能需要上传头像、文档等文件。为了确保用户体验并减轻服务器负担,通常需要对上传文件进行预检查,包括文件...

    上传文件jsweb前端(包含文件格式限制)

    "上传文件jsweb前端(包含文件格式限制)"这个项目旨在提供一个完整的前端文件上传解决方案,它不仅支持基本的文件上传操作,还包含了对文件格式和大小的严格限制,以确保用户上传的数据符合预设的标准,类似于163...

    FileUpload控件上传文件客户端验证格式

    以下是一个简单的JavaScript验证示例,检查文件扩展名是否为.txt或.docx: ```javascript function ValidateFile(sender, args) { var fileUpload = document.getElementById('&lt;%= FileUpload1.ClientID %&gt;'); ...

    js验证上传文件大小

    总结来说,JavaScript验证上传文件大小主要通过监听文件输入字段的`change`事件,获取文件对象,然后检查`size`属性。结合HTML和CSS,我们可以创建一个交互式的文件上传界面,提供友好的用户反馈。这个功能对于任何...

    filepond一个灵活有趣的JavaScript文件上传插件

    3. **文件验证**:开发者可以设置自定义验证规则,如文件类型、大小限制等,以确保上传的文件符合应用的需求。这有助于避免服务器端处理无效或不合适的文件。 4. **进度条显示**:在文件上传过程中,FilePond 显示...

    上传图片之前验证图片格式,同时实现预览

    在用户上传图片之前,验证图片格式以及提供预览功能是非常重要的步骤,这不仅可以确保上传的图片符合预期的格式要求,还可以为用户提供更好的交互体验。本文将详细讲解如何使用JavaScript来实现这个功能。 首先,...

    JS上传文件大小验证.rar

    "JS上传文件大小验证"这个主题涉及到用户在网页上选择文件后,前端先进行文件大小的检查,以防止过大文件导致服务器压力或者用户体验问题。下面将详细阐述这一知识点。 一、文件API的使用 在HTML5中,File API提供...

    javascript+HTML5 多文件上传(插件)多进度条显示

    在本项目中,"javascript+HTML5 多文件上传(插件)多进度条显示"是一个实现这一功能的实例,它允许用户选择并上传多个文件,并在上传过程中实时显示每个文件及整体的上传进度。下面将详细介绍这个技术实现的关键...

    用javascript做的一个多文件上传

    例如,服务器端需要验证文件类型和大小,防止恶意文件上传。同时,前端也需要确保用户明确知晓他们上传的内容。 7. **AddFiles.asp**:这个文件名可能是服务器端处理文件上传的脚本,可能是ASP(Active Server ...

    asp.net自定义固定格式多文件批量上传

    我们需要在服务器端对上传的文件进行验证,确保它们符合预设的格式要求。例如,可以使用`Path.GetExtension()`检查文件扩展名,或者读取文件内容进行内容匹配。 3. **批量上传处理**:在用户选择多个文件后,服务器...

Global site tag (gtag.js) - Google Analytics