【发布时间】:2009-08-22 22:10:45
【问题描述】:
我需要从字符串中提取一个变量号。字符串总是如下所示:
javascript:change(5);
变量为 5。
我怎样才能隔离它?非常感谢。
【问题讨论】:
标签: javascript jquery string split
我需要从字符串中提取一个变量号。字符串总是如下所示:
javascript:change(5);
变量为 5。
我怎样才能隔离它?非常感谢。
【问题讨论】:
标签: javascript jquery string split
这是一种方法,假设数字总是用括号括起来:
var str = 'javascript:change(5);';
var lastBit = str.split('(')[1];
var num = lastBit.split(')')[0];
【讨论】:
/(\d+)/ 是最简单的方法,/javascript:change\((\d+)\);/ 还验证周围数据是否符合预期形式。 split 太聪明了。
javascript:change('(5)');。事实上,你的只会返回 ' - 正则表达式只会失败......我宁愿找不到任何参数,也不愿从这种函数中返回 '。
var test = "javascript:change(5);"
var number = new RegExp("\\d+", "g")
var match = test.match(number);
alert(match);
【讨论】:
一个简单的正则表达式可以解决这个问题:
var inputString = 'javascript:change(5);';
var results = /javascript:change\((\d+)\)/.exec(inputString);
if (results)
{
alert(results[1]); // 5
}
在匹配中使用javascript:change 部分也可确保如果字符串格式不正确,您将无法从匹配中获取值。
【讨论】:
var str = 'javascript:change(5);', result = str.match(/\((\d+)\)/);
if ( result ) {
alert( result[1] )
}
【讨论】: