我有这些类型的hrefs
http://localhost:8080/en/reservations/tours-and-safaris-booking-enquiry-form/dubai/index.aspx
http://localhost:8080/en/reservations/tours-and-safaris-booking-enquiry-form/muscat/index.aspx
现在我需要编写一个以此为输入的函数,并返回“tours-and-safaris-booking-inquiry-form”。
请建议!!
答案 0 :(得分:8)
你可以做一个基本的分裂(到数组)并获得倒数第二个元素。
var _array = url.split('/'),
_foo = _array[_array.length-2];
您必须注意以这种方式格式化的网址:
http://your.domain.com/path/to/something/
...也就是那些带有正斜杠的那些,因为那些会在末尾创建一个空的数组元素(这会抛弃你的解析)。在检索您真正想要的特定字符串之前,您可能需要先删除空元素来清理数组(使用类似this solution的内容)。
答案 1 :(得分:3)
如果您的字符串始终具有完全相同的形式(即在您想要的部分之前始终具有相同数量的/
个字符),那么您可以这样做:
var partYouWant = yourString.split("/")[5];
split
执行它所说的内容,并使用指定的字符串作为分隔符来拆分字符串(在这种情况下,它使用/
字符作为分隔符)。返回一个数组,你想要的部分是索引5.
请注意,jQuery在这里没有任何帮助。这是你想要的普通旧JavaScript。