日期:2014-05-18 浏览次数:20757 次
tbName 文件名 tbExtension 文件扩展名 if(tbName.Text.Trim()!="") { if(!tbExtension.Text.Contains(".")) { 报错 } } 目前偶就只能判断在字符串包含. 就通过 .1 1.1 这种也可以通过 但是偶要判断的是.*的形式 类似.doc .txt .xml等一切合格的类型 应该怎么写啊??
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string s = "asd.d"; int a=0,b=0; foreach (char i in s) { if (i == '.') a++; else if (a == 1) b++; } if (b != 0) Console.WriteLine("通过"); } } }
------解决方案--------------------
if (tbName.Text.Trim() != "") { string fileName = tbName.Text.Trim(); string[] fileNames = fileName.Split('.'); if (fileNames.Length == 2) { if (fileNames[0] == "" || fileNames[1] == "") { err } } else { err } }
------解决方案--------------------
我比较赞成先获得最后一个.字符之后的字符串再进行格式判断
这样的话就不存在欺骗的问题,安全性提高很多
像上面的,如果我知道源代码的话,我很容易就可以上传一个aspx文件进去控制服务器