我有一个ASP.NET MVC应用程序,允许用户上传一个只包含纯文本的文件。
我正在寻找一种简单的方法来验证文件确实只包含文本。
出于我的目的,我很乐意将 text 定义为我可以在GB QWERTY键盘上看到的任何字符。
业务规则意味着我上传的文件不会包含任何重音字符,因此代码接受或拒绝这些字符无关紧要。
到目前为止尚未奏效的方法:
char.IsControl
;没有好处,因为该文件可以包含被认为是控制字符的管道(|)字符我宁愿避免使用冗长的Regex
模式来实现这一点。
答案 0 :(得分:2)
听起来你想要ASCII characters 32-126加上一些赔率和结束,如9(水平标签),回车和&换行等。
我宁愿避免使用冗长的正则表达式 模式让这个工作。
只要这并不意味着“根本没有正则表达式”,您可以使用this stack overflow question中接受的答案(我已将水平制表符添加到原始字符中):
^([^\x09\x0d\x0a\x20-\x7e\t]*)$