是否有一种原生方法可以将包含非数字字符的字符串转换为一次传递中的数字,而不依靠str.substring()
然后parseInt()
?
例如,如果我想将字符串x1
转换为1
。
答案 0 :(得分:3)
不是一个原生函数,但它对于正整数来说非常简单:
var number = +str.match(/\d+/);
如果您想接受点和标志,可以使用
var number = +str.match(/-?\d+(?:\.\d*)?/);
请注意,如果字符串中没有数字,则会0
。