拆分JavaScript字符串中的最后一个单词值[重复]

Posted

技术标签:

【中文标题】拆分JavaScript字符串中的最后一个单词值[重复]【英文标题】:Split last word value in JavaScript string [duplicate] 【发布时间】:2015-12-27 06:41:35 【问题描述】:

我在下面的 javascript 中有一个 URL 字符串 ex- 网址-"/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567"

现在,我需要做以下两件事

    检查上面的url中是否存在国家,上面的url中只有一个countryId

    获取countryId值表示875567。

感谢大家这么快的回复。我得到了解决方案,大部分答案都是正确的。

还有一个问题,伙计们,我有超链接,所以我在 onmousedown 事件时会生成一些活动。但问题是即使我只右键单击它也会触发..但我想要仅在单击超链接双击或时触发的事件右键单击,然后单击

【问题讨论】:

【参考方案1】:

获取网址使用

window.location.href

还有

用 '?' 分割首先,'&' next 和 '=' 这样你就可以得到 countryId

直接用 '=' 进行拆分,并从拆分后得到的数组中获取最后一个值

【讨论】:

【参考方案2】:

这样的事情怎么样:

var TheString = "/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567";

var TheCountry = parseInt(TheString.split('=').pop(), 10);

然后您只需要测试TheCountry 是否与if (TheCountry) ... 匹配

这当然假设 URL 查询字符串的末尾总是有国家 ID。

【讨论】:

【参考方案3】:

您需要使用indexOf()substring() 的组合

var ind = url.indexOf("countryId");
if (ind  != -1)
    // value is index of countryid plus length (10)
    var countryId = url.substring(ind+10);
else
    //no countryid

【讨论】:

【参考方案4】:
var url ='/MyProject/Information/EmpDetails.aspx?userId=79874& countryId=875567';
alert((url.match(/countryId/g) || []).length);
alert(url.substring(url.lastIndexOf('=')+1));

您可以获取第一次警报中任何字符串的出现次数,并通过子字符串获取 countryid 值。

【讨论】:

【参考方案5】:

这会将您的 url 查询转换为对象

var data = url.split('?')[url.split('?').length - 1].split('&').reduce(function(prev, curr)
    var fieldName = curr.split('=')[0]; 
    var value = curr.split('=').length > 1 ? curr.split('=')[1] : '';
    prev[fieldName] = value; 
    return prev
, );

那么你可以只检查 data.country 的值来获取值

【讨论】:

【参考方案6】:

你也可以拆分字符串,看看countryId是否存在,如下所示。

var myString = "/MyProject/Information/EmpDetails.aspx?userId=79874&countryId=875567";
myString = myString.split("countryId="); //["/MyProject/Information/EmpDetails.aspx?userId=79874&", "875567"]
if (myString.length === 2) 
    alert (myString.pop());

【讨论】:

以上是关于拆分JavaScript字符串中的最后一个单词值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 在字符串中的每个单词前添加一个“+”

如何使用JavaScript正则表达式提取字符串中的最后一个单词?

如何使用 Javascript 分解 HTML 字符串中的每个单词,然后在 HTML 中一个一个地显示每个单词? [复制]

查找字符串中最后一次出现的数字,并按该值拆分字符串

拆分URL字符串以获取javascript中的每个参数值[重复]

数组大小和字符串拆分