我有这个网址,正在传递给javascript。我现在就这样了
var Link ='<%= @ car.link.split('&')[1]%>';
链接有Id=63546&hjk
我想让这些号码只传入票证。
剩下63546。我怎么会这样呢?它必须介于这两者之间。完全Id=
和&
由于
答案 0 :(得分:0)
这种拆分需要在rails侧还是在javascript端完成。在使用正则表达式的两侧,可以拆分字符串以仅获取数字
在红宝石方面
s ="Id=63546&hjk"
s[/\d+/].to_i
=> 63546
在Javascript方面
var regex = /\d+/g;
var string = "Id=63546&hjk";
var matches = string.match(regex);
document.write(matches);
答案 1 :(得分:0)
不是尝试用正则表达式拆分uri,而是使用标准库和rails为你操作这些东西的函数:
Rack::Utils.parse_query(URI.parse(@car.link).query)['Id']
解析URI,提取查询字符串,使用rack将其转换为键值对的哈希值,然后提取名为Id
的哈希值。它不依赖于Id恰好是Url中的某个位置或类似的位置。