将混合字符串传递给Javascript函数

时间:2013-04-12 14:25:00

标签: javascript string

我创建了一个动态库存表,它加载了一个包含产品列表的表,其中一个是一个html复选框,我已经将复选框链接到一个javascript函数,使用onclick事件并传递产品ID功能()。

当产品ID只是一个数字,如12345时,Javascript工作正常,但当ID是混合字符串,如12345-HIGH时,Javascript失败。我需要保持ID完整,因为它以后使用,所以我无法更改或转换它?

我似乎无法找到将混合字符串传递给javascript函数。我不确定这是否有帮助,但ID通常会有一个' - '和文本,如果有的话总是不同。

2 个答案:

答案 0 :(得分:1)

如果您知道您的字符串将始终以您要提取的数字部分开头,则可以使用parseInt()并利用Javascript解析的性质来仅提取数字部分:

parseInt("12345-HELLO")

将以整数形式返回12345。但是

parseInt("HELLO-12345-HELLO")

将返回NaN

答案 1 :(得分:1)

很难在不知道每个可能的字符串组成的情况下知道正确的答案,但听起来它会

  1. 始终以数字
  2. 开头
  3. 有时会有-后跟字符串
  4. 如果这些是真的,你可以这样做:

    var productId = "12345-HIGH";
    var num = productId.split('-')[0];
    

    此时它仍然是一个字符串,但您可以将其转换为parseInt(num)的整数,如jxpx777所示。