忙了一天,从网上找了一些 相关资料,完成了对上传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)
分享到:
相关推荐
项目中经常用到需要上传文件、照片等功能,同时需要限制所上传文件的大小。很多插件都会采用后台请求验证,前端Js校验比较少。本篇介绍一个前端JS便捷判断上传文件大小的方法。 这个是比较好的 <html> <...
代码如下: //验证文件的格式 function validateFile(){ var fileObject=$(“#filename”); var errorObject=$(“#error”); var filepath=fileObject.val(); var fileArr=filepath.split(“//”); var ...
JS上传文件大小验证 自己写的方法,不是完整控件。 可以拿去借鉴。
新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供...
项目包里面有作业:上传文件 ;为视频播放器设置截图功能 ;验证表格是否为空 ;验证表格数据是否合法 ;在输入框中自动提示文本。 HTMLAPP-网页设计作业-前端作业-JavaScript作业-大学生作业-计算机课程 htmlapp书...
javascript一般表单的验证方法:包括用户名、密码、身份证、上传文件格式、邮件格式的验证。
JS上传文件判断文件格式 GIF JPG PNG
本文实例讲述了JavaScript检测上传文件大小的方法。分享给大家供大家参考。具体如下: 通过JS客户端代码限制用户上传文件的大小,但是客户端的验证只是辅助的,服务器端一定还要再做验证 <!DOCTYPE ...
5、使用ajax发起上传文件的请求 6、设置文件的路径 7、使用xhr获得文件上传的进度 8、当文件上传完成让进度条显示绿色 <style> #loading { width: 20px; height: 20px; } #img { display: bl
在网上真得好难找到一个能在网页上对视频进行上传大小的拦截与阻止的控件。在服务器端作验证又太麻烦。现在终于有了一个解决方案纯javascript解决方案。
新颖网络上传插件(StorageWebPlug)是一个支持超大文件(100GB)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,免费提供JavaScript SDK包,C++ SDK...
ajax iframe jsp 无刷新上传文件+JavaScript字符串函数大全+如何自定义Struts2表单验证后的错误信息显示格式样式
FileSystemObject对象,GetFileSize(…)可直接取得待上传文件的字节大小,但也有限制就是客户端浏览须启用ActiveX插件,若没有启用时,会提示用户按步骤设置。CancelClientEvent()是使用事件冒泡阻止了事件的继续...
因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本。 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法。 IE6: 关键字: fileSize ...
增加文件格式的过滤,用于上传时限制上传的文件格式 1.05 增强对身份证号码的验证 运行环境(客户端): 在Windows Server 2003下用IE6.0+SP1和Mozilla Firefox 1.0测试通过; 在Lunix RedHat 9下的Netscape测试...
因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本。 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法。 IE6: 关键字: fileSize onreadystatechange...
本地JS做MD5验证时所需的JS文件,主要的两个JS文件不容易找到,有其它需要的请联系我
上传关怀小工具 Uploadcare ... 我们提供文件上传器作为典型的 JavaScript 库; 它可以轻松嵌入您的网站。 使用旧的2.x版本? 查看下的。新产品管理CDN 其他安装方式用法与 React 一起使用与 Angular 一起使用配置J
文件上传控件支持多个文件选择,拖放支持,进度条,验证和预览图像,音频和视频的jQuery插件。支持跨域,分块和可恢复的文件上传。支持标准的HTML表单文件上传和任何服务器端平台(谷歌应用程序引擎,PHP,Python和...
Javascript表单验证控件(Validator v1.05).rar --------------------------------- 内含以下两个文件: ...文件上传格式过滤(1.04新增)。 <br> 不好意思哈,收一分钱(评价一下就是免费了)。