如何檢查上傳的文件是否爲ascii純文本?檢查ascii純文本
$("#my_file").change(function(){
//alert if not ascii
});
<input type="file" name="my_file" id="my_file" />
如何檢查上傳的文件是否爲ascii純文本?檢查ascii純文本
$("#my_file").change(function(){
//alert if not ascii
});
<input type="file" name="my_file" id="my_file" />
使用HTML5 file APIs(這還沒有最終確認,而不是由所有主要瀏覽器的所有版本都支持),你可以通過FileReader.readAsBinaryString(file)
讀取原始文件的內容,並確保每個字節(字符)在the ASCII character range值( 0-127)。
例如(see working jsFiddle here):
function ensureAsciiFile(evt) {
var file, files=evt.target.files;
for (var i=0; file=files[i]; i++) {
var reader = new FileReader();
reader.onload = (function(theFile, theReader) {
return function(e) {
var fileContents = theReader.result;
if (fileContents.match(/[^\u0000-\u007f]/)) {
alert('ERROR: non-ASCII file "' + theFile.name + '"');
} else {
alert('OK: ASCII file "' + theFile.name + '"');
}
};
})(file, reader);
reader.readAsBinaryString(file);
}
}
$('#my_file').change(ensureAsciiFile);
當你要檢查嗎?上傳之前或之後? – 2012-04-05 05:14:12