【问题标题】:extract out text in each line and put it in seperate variables with javascript提取每行中的文本并使用 javascript 将其放入单独的变量中
【发布时间】:2011-06-26 13:43:28
【问题描述】:

我有以下地址,它在一个段落中,没有很好的方法来选择其中的各个文本区域。我无权访问此代码。我想提取每一行并将文本值放入每种类型的变量中。不知道什么是最好的方法。

使用.split('<br>') ? 然后使用 .split(' ') 将状态与 zip 分开 与城市和州相同 我有点迷路了。

这是我想要的变量。

公司名称, 人名, 地址1, 城市, 状态, 国家, 邮政编码, 电话,

这是我的段落。我不需要'(住宅地址)'

<p>
XYZ Inc<br>
John&nbsp;Smith<br>
555 Anywhere Street<br>
New York, NY&nbsp;11150<br>
United States<br>
212-555-1212<br>

 (Residential Address)


</p>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    给定一个包含您的数据的字符串变量str

    var str=str.split("<br>"),
    companyName=str[0],
    personName=str[1],
    address1=str[2],
    location=str[3].split(","),
    city=location[0],
    location=location[1].split(" "),
    state=location[0],
    zip=location[1],
    country=str[4],
    phone=str[5];
    

    如果你给你的&lt;p&gt;一个id:&lt;p id="values"&gt;,你可以这样做:

    var str=document.getElementById("values").innerHTML;
    

    【讨论】:

    • 我觉得这几乎没问题,但 br 并没有分隔城市 - 州或州 - zip,但这是一个开始!!!
    • @user##### 可以再次使用“,”来拆分字符串以获取在“
      上拆分得到的城市、州和邮编字符串
    • 我已经编辑过了,假设城市/州/邮编为City, State Zip
    • 如果你需要修剪你的东西,这里是你的辅助函数:function trim(x) { return x.replace(/^\s*([\s\S]+?)\s*$/, '$1'); }。 :)
    • 仍在检查它,虽然很少,将所有“,”替换为“;”而且你不能使用位置作为变量名,至少我不能,可能与windows.location有一些冲突。我将其更改为 location1,然后它就可以工作了
    【解决方案2】:

    这实际上是在您的代码 JC 的帮助下起作用的。我需要将第二个拆分更改为针对 &nbsp 而不是 " " 拆分,并且我修剪了所有变量,即使有些变量并不真正需要。

    var shipping_info=$('p').html();
    var str=shipping_info.split('<br>');
    var companyName=jQuery.trim(str[0]);
    var personName=jQuery.trim(str[1]).replace('&nbsp;',' ');
    var address1=jQuery.trim(str[2]);
    var location1=str[3].split(',');
    var city=jQuery.trim(location1[0]);
    var location1=location1[1].split('&nbsp;');
    var state=jQuery.trim(location1[0]);
    var zip=jQuery.trim(location1[1]);
    var country=jQuery.trim(str[4]);
    var phone=jQuery.trim(str[5]);
    alert(companyName);
    alert(personName);
    alert(address1);
    alert(city);
    alert(state);
    alert(zip);
    alert(country);
    alert(phone);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多