【问题标题】:fill html with fdf data in javascript在 javascript 中用 fdf 数据填充 html
【发布时间】:2020-05-12 14:40:18
【问题描述】:

我想使用 fdf 数据字符串填充一个 html 文档。

我有一个解析 FDF 数据(来自 PDF 的表单数据)的正则表达式

\/T\(([^)]*)\)\/V[(\/<]([^>)]*)

Debuggex Demo Result Demo

我想使用这个 fdf 数据通过匹配 id 来填充我的 html 文档。

let regexp = "\/T\(([^)]*)\)\/V[(\/<]([^>)]*)";
let fdfdata = "'><</T(Talent_FW_1)/V(0)>><</T(Talent_FW_10)/V(4)>><</T(Talent_FW_11)/V(4)>><</T(Talent_FW_12)/V(0)>><</T(Talent_FW_13)/V(3)>><</T(Talent_FW_14)/V(5)>><</T(Talent_FW_15)/V(4)>><</T(Talent_FW_16)/V(2)>><</T(Talent_FW_17)/V(7)>><</T(Talent_FW_18)/V(0)>><</T(Talent_FW_19)/V(0)>>'";

let fdfarray = [...fdfdata.matchAll(regexp)];

console.log(fdfarray[0]);
// is undefine


for (i = 0; i < fdfarray.length; i++) { 

document.getElementById("array[i][0]").innerTEXT =  array[i][1];
}
<p id="Talent_FW_14">this should be the Value Five<p>
<p id="Talent_FW_15">this should be the Value Fours<p>

Source for the code

似乎正则表达式没有像我预期的那样工作,并且数组保持为空。

【问题讨论】:

    标签: javascript html regex fdf


    【解决方案1】:

    您所说的正则表达式是字符串,而不是正则表达式。您还需要将g(全局)标志添加到正则表达式以使用.matchAll() 填充数组。这是固定的正则表达式:

    let regexp = /\/T\(([^)]*)\)\/V[(\/<]([^>)]*)/g;
    let fdfdata = "'><</T(Talent_FW_1)/V(0)>><</T(Talent_FW_10)/V(4)>><</T(Talent_FW_11)/V(4)>><</T(Talent_FW_12)/V(0)>><</T(Talent_FW_13)/V(3)>><</T(Talent_FW_14)/V(5)>><</T(Talent_FW_15)/V(4)>><</T(Talent_FW_16)/V(2)>><</T(Talent_FW_17)/V(7)>><</T(Talent_FW_18)/V(0)>><</T(Talent_FW_19)/V(0)>>'";
    let fdfarray = [...fdfdata.matchAll(regexp)];
    
    console.log(JSON.stringify(fdfarray, null, ' '));

    返回:

    [
      [
        "/T(Talent_FW_1)/V(0",
        "Talent_FW_1",
        "0"
      ],
      [
        "/T(Talent_FW_10)/V(4",
        "Talent_FW_10",
        "4"
      ],
    ...snip...
      [
        "/T(Talent_FW_19)/V(0",
        "Talent_FW_19",
        "0"
      ]
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-11
      • 2013-10-31
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多