2011-06-14 139 views

回答

59

此正則表達式匹配字符串末尾的數字。

var matches = str.match(/\d+$/); 

如果成功,它將返回其0個元素匹配的Array。否則,它將返回null

在訪問0成員之前,請確保已進行匹配。

if (matches) { 
    number = matches[0]; 
} 

jsFiddle

如果您必須將其作爲Number,您可以使用函數來轉換它,例如parseInt()

number = parseInt(number, 10); 
+1

提示:它是更有效地使用'[0-9]'比它是使用'\ D'。查看https://stackoverflow.com/questions/16621738 – Marathon55 2017-12-26 16:11:28

+0

@ Marathon55很可能是這種情況,但我仍然會使用'\ d'(除非它已成爲性能瓶頸) – alex 2018-01-09 10:37:49

4

正則表達式:

var str = "example12"; 
parseInt(str.match(/\d+$/)[0], 10); 

字符串操作:

var str = "example12", 
    prefix = "example"; 
parseInt(str.substring(prefix.length), 10); 
相關問題