【问题标题】:Using Regex to extract value from javascript使用正则表达式从 javascript 中提取值
【发布时间】:2015-05-04 01:18:38
【问题描述】:

如何使用正则表达式解析下面的javascript中分配给qtyAvail的数值(104)

<script>
var buyID       = "302";
var qtyAvail    = "104";
var outBehavior = "Default";
if (qtyAvail == "0") {
    if (outBehavior.indexOf("Disallow") != -1) {
        do this
    } else if (outBehavior.indexOf("Allow") != -1) {
        do that
    }
}
</script>

【问题讨论】:

  • 我无法理解你的问题,请你说的更清楚些好吗?
  • 为什么你需要这个代码的正则表达式?它已经存储在自己的变量中了吗?如果你想要数值,只需去掉引号
  • @Geohut 正如我在下面添加的,这实际上是作为字符串存储在 php 变量中的,因此我试图解析字符串以将 qtyAvail 值保存为它自己的 php 变量。正则表达式似乎是用 php 做到这一点的最佳方式。
  • Preg_match_all('/var\s+qtyAvail\s+=\s+\"(\d+)\";/', $html, $matches);在 $matches[1] 处退出匹配,然后在 intval() 处退出

标签: javascript regex parsing


【解决方案1】:

你不需要使用正则表达式,你可以使用原生的 parseInt javascript函数:

parseInt(qtyAvail, 10); // the 2nd argument 10 means use base 10 (decimal, as opposed to hexadecimal or something else)
=> 104

【讨论】:

  • 谢谢帕特里克。我实际上是在尝试从作为字符串存储在 php 变量中的抓取数据中解析它。所以我希望用 php 搜索它以提取该数字并将其存储为它自己的 php 变量。是否有一个 php 函数可以在不使用正则表达式的情况下做到这一点?
  • 我以为这是一个javascript问题?如果您将 PHP 中的变量作为字符串并希望它可以被 javascript 访问,您应该能够做到: var qtyAvial = = intval($phpStringVar); ?>
猜你喜欢
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多