kopia lustrzana https://github.com/backface/turtlestitch
Changing CSV format validator
rodzic
51fff7f5b6
commit
d7d9018c0c
11
threads.js
11
threads.js
|
@ -2745,15 +2745,10 @@ Process.prototype.parseCSV = function (string) {
|
||||||
// by lines.
|
// by lines.
|
||||||
// Following RFC 4180 specifications
|
// Following RFC 4180 specifications
|
||||||
|
|
||||||
var re_valid = /^(?:"(?:(?:"{2})*[^"]*)*"|([^",]*))(?:,(?:"(?:(?:"{2})*[^"]*)*"|([^",]*)))*$/;
|
|
||||||
if (!re_valid.test(string)) {
|
|
||||||
return new List();
|
|
||||||
}
|
|
||||||
|
|
||||||
var re_value = /(?:^|,)(?:"((?:(?:"{2})*[^"]*)*)"|([^",]*))(?=(?:,|$))/g,
|
var re_value = /(?:^|,)(?:"((?:(?:"{2})*[^"]*)*)"|([^",]*))(?=(?:,|$))/g,
|
||||||
a = [];
|
a = [];
|
||||||
|
|
||||||
string.replace(
|
var remaining = string.replace(
|
||||||
re_value,
|
re_value,
|
||||||
function(m0, m1, m2) {
|
function(m0, m1, m2) {
|
||||||
if (m1 !== undefined) {
|
if (m1 !== undefined) {
|
||||||
|
@ -2766,6 +2761,10 @@ Process.prototype.parseCSV = function (string) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
if (remaining !== '') {
|
||||||
|
// if remaining contains something, string has a non valid format
|
||||||
|
return new List();
|
||||||
|
}
|
||||||
return new List(a);
|
return new List(a);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue