我使用jQuery的JTable插件显示存储在我的MySQL数据库会话变量数据,这将是格式:的Javascript提取值从字符串
gateway|i:1;FirstName|s:7:"Shelley";LastName|s:2:"VS";Status|s:7:"Enabled";UID|s:10:"b81ef6a12a";AdminGroup|s:8:"Sysadmin";
我JTable中列显示所有的会话数据这不是必需的。我需要使用JavaScript从字符串中仅提取FirstName
部分。我是一个JavaScript新手。我做了以下内容:
name: {
title: 'Admin Name',
display: function (data) {
var x = data.record.data;
if(x.match("FirstName")) {
return "yes";
}
},
},
为FirstName
数据在字符串中使用x.match发现在我的新jtable
列该款显示器“是”。我如何才能使用javascript从上述文本中仅提取名字部分。我将有相同格式的多个记录。
在此先感谢。
添加到我原来的职位
@cytofu出色答卷的newbie..I改变了代码,以满足我的JTable(无附加功能),如下所示,运行良好:谢谢。
firstname: {
title: 'First Name',
display: function (data) {
var str = data.record.data;
var startOfSection = str.indexOf('FirstName');
var startOfValue = str.indexOf('"',startOfSection)+1;
var endOffValue = str.indexOf('"',startOfValue); //one char longer, as needed for substring
var value = str.substring(startOfValue,endOffValue);
return value;
},
},
//last name
lastname: {
title: 'Last Name',
display: function (data) {
var str = data.record.data;
var startOfSection = str.indexOf('LastName');
var startOfValue = str.indexOf('"',startOfSection)+1;
var endOffValue = str.indexOf('"',startOfValue); //one char longer, as needed for substring
var value = str.substring(startOfValue,endOffValue);
return value;
},
},
我不认识的格式,是什么呢?有没有特别的理由不使用XML或JSON? –
而不是写一个自定义解析器,让我们考虑一下它的来源,就是说它是可访问的。你不会偶然使用[PHP的序列化函数](http://php.net/serialize),你会吗?(看起来你只是用|)换出了{}?如果是这种情况,而不是序列化,请考虑[使用json_encode编码为JSON](http://php.net/json_encode),因为它可以在JS中轻松解码(解析)。 – zamnuts