如何使用 JavaScript 验证文本文件的内容?例如,我有一个文本文件,其中包含:
6594567890
6594567891
6594567892
6594567893
92345678
92345679
92345680
因此,我需要在一定条件下验证内容:
- 如果其前缀不等于 659 和 9,则会被拒绝。
- 如果其前缀等于 659 但长度不等于 10,则会被拒绝。
- 如果其前缀等于 9 但长度不等于 8 则将被拒绝。
目前我有以下使用 JS 的代码:
<input type="file" name="txt_list" id="txt_list" class="inpText" size="26" />
<script>
var input_file = document.getElementById('txt_list');
input_file.onchange = function() {
var file = this.files[0];
var reader = new FileReader();
reader.onload = function(ev) {
// Show content (ev.target === reader)
alert(ev.target.result);
};
reader.readAsText(file);
};
</script>
<font color="FF0000" style="font-weight:bolder;">
<b>* Compulsory</b>
</font>
有什么想法可以做到这一点吗? jsfiddle 或示例代码将受到高度赞赏。
最佳答案
猜猜您关心的是阅读每一行? ev.target.result
是一长串字符,必须将其分割成字符串。我不太清楚你会如何评估这些台词,所以请耐心等待
<input type="file" name="txt_list" id="txt_list" class="inpText" size="26" />
<script>
var input_file = document.getElementById('txt_list');
input_file.onchange = function() {
var file = this.files[0];
var reader = new FileReader();
reader.onload = function(ev) {
var str = '';
for (var i = 0; i < ev.target.result.length; i++) {
str += ev.target.result[i];
if (ev.target.result[i] == "\n") { //new line
//probably very misunderstood evaluation
if (((str.substr(4, 7) == '659') && (str.length != 10)) ||
((str.substr(4, 7) != '659') && (str.length == 9)) ||
((str.substr(4, 5) == '9') && (str.length != 8))) {
alert('rejected');
} else {
alert('accepted');
}
//reset the line
str = '';
}
}
};
reader.readAsText(file);
};
</script>
<font color="FF0000" style="font-weight:bolder;">
<b>* Compulsory</b> </font>
关于javascript - 如何使用 JavaScript 验证文本文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13046647/