Javascript从字符串中提取值

标签 javascript string

我正在使用 jQuery jTable 插件来显示存储在我的 mysql 数据库中的 session 变量数据,其格式为:

gateway|i:1;FirstName|s:7:"Shelley";LastName|s:2:"VS";Status|s:7:"Enabled";UID|s:10:"b81ef6a12a";AdminGroup|s:8:"Sysadmin";

我在 jtable 列中显示所有 session 数据,这不是必需的。我需要使用 JavaScript 从字符串中仅提取 FirstName 部分。我是一个 JavaScript 新手。我做了以下事情:

name: {
    title: 'Admin Name',
    display: function (data) {
        var x = data.record.data;
        if(x.match("FirstName")) {
            return "yes";
        }
    },
},

在我的新 jtable 列中显示“yes”,因为使用 x.match 在字符串中找到了 FirstName 数据。如何使用 javascript 从上述文本中仅提取名字部分。我将有多个相同格式的记录。

提前致谢。

添加到我的原始帖子

@cytofu 对新手的出色回答..我更改了代码以适合我的 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;
},
},

最佳答案

您有三种常见的方式:

  • 将整个字符串解析为对象。 .split() 在这种情况下是你最好的 friend ;
  • 将传入格式更改为 JSON;
  • 使用正则表达式获取数据:

    var Patient = 'gateway|i:1;FirstName|s:7:"Shelley";LastName|s:2:"VS";Status|s:7:"启用";UID|s: 10:"b81ef6a12a";AdminGroup|s:8:"系统管理员";';

    alert(patent.match(/FirstName\|\w\:\d+\:\"(\w+)\"/)[1]);

关于Javascript从字符串中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20160452/

相关文章:

javascript - 如何更改 mottie 虚拟键盘中自定义键的显示名称

javascript - 布料模拟+图像上的 Canvas 变换

unix - 将 Unix 路径转换为 ​​DOS 路径

c - 从函数返回的字符串数组未按预期工作

java - String.replace 不工作

javascript - 查找字符串中的数组值

javascript - 按枚举名称而不是值对数组进行排序

javascript - Jquery JS Lint 错误但 jquery 工作

javascript - 这个糟糕的代码是如何完全破坏 IOS PhoneGap/cordova 应用程序中的 JS 文件的?

c - 为什么我在 PC^2 上遇到运行时错误?(替换某些字符串中的某些单词或字符)