如何从按钮的ID中解析整数?

时间:2017-07-19 01:30:02

标签: javascript html button parseint

假设我有一些html说:

<input type = "button" id = "start4" value="Start 4x4 Game" onClick="gameStart(this.id)"/>

我想根据按钮的ID更改javascript中函数的动作,理想情况是通过parseInt解析start4末尾的4。然而,我试过这个,并且永远无法解析整数值。我通过将它放入警报按钮测试它,它只是向我吐出NaN。我真的很想知道我做错了什么。

2 个答案:

答案 0 :(得分:0)

假设您的ID遵循start[number]相同的格式,那么在您的gameStart函数中,您可以这样:

function gameStart(id) {
    var result = /[0-9]/.exec(id);
    if (result) {
        result = parseInt(result[0]);
    } else {
        return false;
    }

    ...
}

然后,您可以在result功能中使用gameStart。在这种情况下,它将是4

代码细分:

var result = /[0-9]/.exec(id);result分配给正则表达式搜索字符串中的数字(start4)。

if (result) {检查正则表达式搜索是否实际找到了一个数字,如果是,则继续,如果没有,则中止该功能。

result = parseInt(result[0]);正则表达式搜索返回结果数组,数组中的第一个元素是实际找到的字符串。因此,我们将result分配给数组中的第一个元素,然后应用parseInt()将该字符串转换为数字。

答案 1 :(得分:0)

data属性中存储此类内容的最佳方式。但是,您可以通过正则表达式解析id以获取最后一个数字。

var number = parseInt(this.id.match(/\d+$/)[0])

确保检查匹配[0]未定义。