验证上载的文件是否仅包含纯文本

时间:2010-02-24 17:29:17

标签: c# text string

我有一个ASP.NET MVC应用程序,允许用户上传一个只包含纯文本的文件。

我正在寻找一种简单的方法来验证文件确实只包含文本。

出于我的目的,我很乐意将 text 定义为我可以在GB QWERTY键盘上看到的任何字符

业务规则意味着我上传的文件不会包含任何重音字符,因此代码接受或拒绝这些字符无关紧要。

到目前为止尚未奏效的方法:

  • 检查内容类型;没有好处,因为这取决于文件扩展名
  • 检查每个角色的char.IsControl;没有好处,因为该文件可以包含被认为是控制字符的管道(|)字符

我宁愿避免使用冗长的Regex模式来实现这一点。

1 个答案:

答案 0 :(得分:2)

听起来你想要ASCII characters 32-126加上一些赔率和结束,如9(水平标签),回车和&换行等。

  

我宁愿避免使用冗长的正则表达式   模式让这个工作。

只要这并不意味着“根本没有正则表达式”,您可以使用this stack overflow question中接受的答案(我已将水平制表符添加到原始字符中):

^([^\x09\x0d\x0a\x20-\x7e\t]*)$