Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从url字符串中提取id_Javascript_Node.js - Fatal编程技术网

Javascript 从url字符串中提取id

Javascript 从url字符串中提取id,javascript,node.js,Javascript,Node.js,我想从下面的url中提取id1406570408。我想知道是否有比我现在尝试的更好的方法 let str = 'https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013'; str = str.split('/') str = str[5].split('?') console.log(str[0]

我想从下面的url中提取id
1406570408
。我想知道是否有比我现在尝试的更好的方法

let str = 'https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013';

str = str.split('/')
str = str[5].split('?')

console.log(str[0]) // 1406570408

使用url类怎么样

let url = new URL("https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013")

url.pathname.split('/')[3] //equals the id
这里
url.pathname
包含
webapp/viewer/1406570408

或使用


url.pathname.split('/').pop()
要删除前面指出的最后一个元素

使用url类怎么样

let url = new URL("https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013")

url.pathname.split('/')[3] //equals the id
这里
url.pathname
包含
webapp/viewer/1406570408

或使用

url.pathname.split('/').pop()
删除前面指出的最后一个元素

consturl=”https://www.google.de/webapp/viewer/1406570408?pag…-P-Global_起始页和纬度=52.5517268和液化天然气=13.4123013“
常量url2=”https://www.google.de/webapp/viewer/1406570408"
常量url3=”https://www.google.de/webapp/something/1406570408"
const getId=(url)=>{
常数匹配=/(?
consturl=”https://www.google.de/webapp/viewer/1406570408?pag…-P-Global_起始页和纬度=52.5517268和液化天然气=13.4123013“
常量url2=”https://www.google.de/webapp/viewer/1406570408"
常量url3=”https://www.google.de/webapp/something/1406570408"
const getId=(url)=>{
常数匹配=/(?
let url='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
const segments=新URL(URL).pathname.split('/');
const last=segments.pop()| | segments.pop();
console.log(最后一个);
let url='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
const segments=新URL(URL).pathname.split('/');
const last=segments.pop()| | segments.pop();

console.log(last);
这里是数组的单行普通javascript方法

let str = 'https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013';
str = str.split('?')[0].split('/').reverse()[0]
console.log(str) // 1406570408

下面是数组的单行普通javascript方法

let str = 'https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_Startpage&lat=52.5517268&lng=13.4123013';
str = str.split('?')[0].split('/').reverse()[0]
console.log(str) // 1406570408
let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
console.log(str.match(/\d+/)[0]);
使用regrex查找url字符串中的数值
let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
console.log(str.match(/\d+/)[0]);

使用regrex查找url字符串中的数值
最好的方法是使用解析url,然后从
url
提供给您的
路径名
属性中提取所需的数据

您的用例的一个示例:

let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
让url=newURL(str);//创建url API的实例
让pathname=url.pathname;//pathname属性
让segments=pathname.split('/');//按/斜杠拆分路径名
让last_item=segments.slice(-1)[0]| | null;//从路径名数组中获取最后一项
控制台日志(最后一项);
您的输出将是:
1406570408

如果您的路径名为
“/”
或根本没有路径名,您将收到一个
null
,您可以稍后处理

此外,上述代码可以缩短为:

let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
让last_item=(新URL(str)).pathname.split('/').slice(-1)[0]| | null;
控制台日志(最后一项);

最好的方法是使用解析URL,然后从
URL
提供给您的
pathname
属性中提取所需的数据

您的用例的一个示例:

let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
让url=newURL(str);//创建url API的实例
让pathname=url.pathname;//pathname属性
让segments=pathname.split('/');//按/斜杠拆分路径名
让last_item=segments.slice(-1)[0]| | null;//从路径名数组中获取最后一项
控制台日志(最后一项);
您的输出将是:
1406570408

如果您的路径名为
“/”
或根本没有路径名,您将收到一个
null
,您可以稍后处理

此外,上述代码可以缩短为:

let str='1〕https://www.google.de/webapp/viewer/1406570408?page=1&pageType=DE-P-Global_起始日期和纬度=52.5517268,液化天然气=13.4123013';
让last_item=(新URL(str)).pathname.split('/').slice(-1)[0]| | null;
控制台日志(最后一项);

如果您知道您想要路径中的最后一项,即编号,则可以执行
const str=url.pathname.split('/').pop()
。如果您知道您想要路径中的最后一项,即编号,则可以执行
const str=url.pathname.split('/').pop()
。我只能想象将步骤最小化为一个步骤,如下所示:console.log(((str.split(“/”)[5]。split(“?”)[0])。我只能想象将步骤最小化为一个步骤,如下所示:console.log((str.split(“/”)[5]。split(“?”)[0])