Есть строка типа:
NAME=ИМЯ,SURNAME=ФАМИЛИЯ,PATRONYMIC=ОТЧЕСТВО, IIN=123456789012,
COUNTRY=СТРАНА,CITY=ГОРОД, EMAIL=ИМЯ@MAIL.RU
Нужно искать слово COUNTRY
или (NAME, SURNAME, CITY, EMAIL
). Если есть такое слово, то сразу отрезать это слово до запятой, то есть IIN=123456789012
Как можно сделать это попроще на одной или не более двух строк?
var string = "NAME=ИМЯ,SURNAME=ФАМИЛИЯ,PATRONYMIC=ОТЧЕСТВО, IIN=123456789012, COUNTRY=СТРАНА,CITY=ГОРОД, EMAIL=ИМЯ@MAIL.RU";
// вариант через match
console.log(string.match(/NAME=(.*?),/m)[1]);
console.log(string.match(/SURNAME=(.*?),/m)[1]);
console.log(string.match(/PATRONYMIC=(.*?),/m)[1]);
console.log(string.match(/IIN=(.*?),/m)[1]);
console.log(string.match(/COUNTRY=(.*?),/m)[1]);
console.log(string.match(/CITY=(.*?),/m)[1]);
console.log(string.match(/EMAIL=(.*),?/m)[1]);
// вариант через split
var array = string.split(",");
array.forEach(function(value) {
console.log(value.split("=")[1].trim());
// в "value.split("=")[0].trim()" название ключа
});
Если нужно делать разбор с несколькими строками используйте split("\n")
let str = 'NAME=ИМЯ,SURNAME=ФАМИЛИЯ,PATRONYMIC=ОТЧЕСТВО, IIN=123456789012, COUNTRY=СТРАНА, CITY=ГОРОД, EMAIL=ИМЯ@MAIL.RU';
let findStr = 'COUNTRY';
let result = str.split(',');
result.forEach(element => {
if (element.trim().indexOf(findStr) == 0) {
result = element;
}
});
console.log(result);
var t = 'NAME=ИМЯ,SURNAME=ФАМИЛИЯ,PATRONYMIC=ОТЧЕСТВО, IIN=123456789012, COUNTRY=СТРАНА, CITY=ГОРОД, EMAIL=ИМЯ@MAIL.RU';
const result = {};
t.split(',').map(v => {
var T = v.trim().split('=');
result[T[0]] = T[1];
});
в результате будет такой обект
result = {
CITY: "ГОРОД"
COUNTRY: "СТРАНА"
EMAIL: "ИМЯ@MAIL.RU"
IIN: "123456789012"
NAME: "ИМЯ"
PATRONYMIC: "ОТЧЕСТВО"
SURNAME: "ФАМИЛИЯ"
}
чтобы првоерить есть то что нам нада так
if (result.EMAIL) { //
// делаем что то
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Разрабатываю поиск с использованием технологии AjaxКак поймать ввод текста вернее каждый введеный символ в форме с идентификатором search_text?
Есть две связанные таблицы: TableA (ID_TableA, NameA) и TableB (ID_TableB, ID_TableA, NameB), связь один ко многимВ таблице TableB есть внешний ключ ID_TableA
Не могу понять, как работает #defineПонимаю только, что при проверке с помощью #if будет выполняться или не выполнять код, в зависимости от того...