Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查ascii纯文本_Javascript_Jquery_Html - Fatal编程技术网

Javascript 检查ascii纯文本

Javascript 检查ascii纯文本,javascript,jquery,html,Javascript,Jquery,Html,如何检查上载的文件是否为ascii纯文本 $("#my_file").change(function(){ //alert if not ascii }); <input type="file" name="my_file" id="my_file" /> $(“#我的#文件”).change(函数(){ //如果不是ascii,则发出警报 }); 使用(尚未定稿且所有主要浏览器版本都不支持),您可以通过文件阅读器.readAsBinaryString(file)读取原始

如何检查上载的文件是否为ascii纯文本

$("#my_file").change(function(){
    //alert if not ascii 
});
<input type="file" name="my_file" id="my_file" />
$(“#我的#文件”).change(函数(){
//如果不是ascii,则发出警报
});
使用(尚未定稿且所有主要浏览器版本都不支持),您可以通过
文件阅读器.readAsBinaryString(file)
读取原始文件内容,并确保每个字节(字符)在(0-127)中有一个值

例如():

功能确保可编程文件(evt){
var file,files=evt.target.files;
for(var i=0;file=files[i];i++){
var reader=new FileReader();
reader.onload=(函数(文件,读取器){
返回函数(e){
var fileContents=theReader.result;
if(fileContents.match(/[^\u0000-\u007f]/){
警报('错误:非ASCII文件“'+theFile.name+'”);
}否则{
警报('OK:ASCII文件“'+theFile.name+'”);
}
};
})(文件、阅读器);
reader.readAsBinaryString(文件);
}
}
$(“#我的#u文件”).change(确保可用文件);

何时要检查此项?上传之前还是之后?标记有一个名为accept charset的属性。您可以将其设置为ASCII。但我不确定浏览器是否能为您完成这项工作。您可能可以使用正则表达式来测试flie,而不是在每个字符上循环。要测试ASCII字符集:
var re=new RegExp(“[^\\u0000-\\u007f]”)
这样,如果有一个字符超出范围0-128(十进制),RegExp
re.test(string)
将返回true@RobG:ack,弄乱了上边界(在我脑子里把十进制转换成十六进制已经太晚了…)