正则表达式在Javascript中获取两个字符串之间的数字

时间:2013-08-29 16:42:53

标签: javascript regex html-parsing

以下是样本:

  • 示例1: string1<span id="header">5655811</span>string2
  • 示例2: string3<span id="header">51481</span>string4
  • 例3: string5<span id="header">854211</span>string6

如何使用JavaScript正则表达式获取<span id="header"></span>之间的数字?

1 个答案:

答案 0 :(得分:4)

这取决于你想要的安全程度。如果您确定所有输入看起来与消息中的输入完全相同,则可以使用:

var n = Number( input.match( /<span id="header">(\d+)<\/span>/ )[1] );

稍微安全的版本是:

var n;
var match = input.match( /<span id="header">\s*(\d+)\s*<\/span>/ );
if( match ) {
    n = Number( match[1] );
} else {
    // do error handling here
}