4

在我的网址中,我想获取令牌编号,但令牌编号可能是数字或 Alpha。我需要始终在不同的情况下获取令牌。如何使用正则表达式实现这一点?

示例网址:

?&token=1905477219/someother/stuff

&token=1905477219

&token=xyzbacsfhsaof

&token=xyzbacsfhsaof/some/other

我怎样才能始终从这些类型的 URL 中获取令牌?

我试过这个:

/(token=.*)/g

我在寻找 :

?&token=1905477219/someother/stuff - in this case "1905477219"

&token=xyzbacsfhsaof - in this case "xyzbacsfhsaof"..像这样

但它不起作用。任何人都可以帮助我吗?

谢谢大家,这对我来说很好:

var reg = window.location.href.match(/token=([^\/]*)/)[1];
4

2 回答 2

3

您可以使用此模式匹配任何带有拉丁字母或十进制数字的标记:

/token=([a-z0-9]*)/

或者这将允许令牌包含除以下之外的任何字符/

/token=([^\/]*)/

请注意,除非您希望捕获多个标记,g否则不需要全局修饰符 ( )。

于 2013-07-17T06:22:08.963 回答
1
/token=(\w*)/g

没有令牌

/token=(\w*)/.exec("token=1905477219")[1]
/token=(\w*)/.exec("token=1905477219/somestuff")[1]
/token=(\w*)/.exec("somestuf/token=1905477219")[1]
/token=(\w*)/.exec("somestuf/token=1905477219/somestuff")[1]

// all will return 1905477219

这将捕获字母、数字和下划线,同时在正斜杠处停止(如果存在)

于 2013-07-17T06:27:34.333 回答