У меня есть следующий URL:
http://example.com/product/1/something/another-thing
Хотя это также может быть:
http://test.example.com/product/1/something/another-thing
или
http: //completelydifferentdomain.tdl/product/1/ something / another-thing
И я хочу получить номер 1 (id) из URL-адреса с помощью Javascript.
Единственное, что всегда будет одинаковым, это / product
. Но у меня есть другие страницы, где в URL-адресе также есть / product
, но не в начале пути.
Как будет выглядеть регулярное выражение?
Я хотел бы предложить другую опцию.
.match(/\/(\d+)+[\/]?/g)
Это возвратило бы все соответствия подарка идентификатора.
Пример:
var url = 'http://localhost:4000/#/trees/8/detail/3';
// with slashes
var ids = url.match(/\/(\d+)+[\/]?/g);
console.log(ids);
//without slashes
ids = url.match(/\/(\d+)+[\/]?/g).map(id => id.replace(/\//g, ''));
console.log(ids);
Таким образом, Ваш URL даже не имеет значения, он выгоняет, получает все части, которые являются числом только.
, Чтобы просто получить первый результат Вы могли удалить g
модификатор:
.match(/\/(\d+)+[\/]?/)
var url = 'http://localhost:4000/#/trees/8';
var id = url.match(/\/(\d+)+[\/]?/);
//With and without slashes
console.log(id);
Hope это помогает людям.Удачи!