Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
如何使用jquery或javascript从字符串中找到完全不同的数字_Javascript_Jquery_Html_Blogger - Fatal编程技术网

如何使用jquery或javascript从字符串中找到完全不同的数字

如何使用jquery或javascript从字符串中找到完全不同的数字,javascript,jquery,html,blogger,Javascript,Jquery,Html,Blogger,我需要从字符串值中找到一个数字,如: tag:example.com,1999:blog-124938250235712450.post-092348192357990021 我通过JQuery使用了这种方法: JavaScript和HTML代码: var getId='tag:example.com,1999:blog-124938250235712450.post-092348192357990021', postID=getId.match(/post-\w*/), blogID=ge

我需要从字符串值中找到一个数字,如:

tag:example.com,1999:blog-124938250235712450.post-092348192357990021
我通过JQuery使用了这种方法:

JavaScript和HTML代码:

var getId='tag:example.com,1999:blog-124938250235712450.post-092348192357990021',
postID=getId.match(/post-\w*/),
blogID=getId.match(/blog-\w*/);
/*打印邮件ID*/
$('#post id').html(postID);
/*打印博客ID*/
$('#blog id').html(blogID)

获取帖子ID:


获取博客ID:
使用RegEx捕获组
()
,并通过其索引
[1]
选择捕获

如果您只需要数字,也可以使用
\d
捕获数字

var getId='tag:example.com,1999:blog-124938250235712450.post-092348192357990021',
postID=getId.match(/post-(\d*)/),
blogID=getId.match(/blog-(\d*)/);
/*打印邮件ID*/
$('#post id').html(postID[1]);
/*打印博客ID*/
$('#blog id').html(blogID[1])

获取帖子ID:


获取博客ID:
如果这是确切的格式,您甚至不需要正则表达式

var getId='tag:example.com,1999:blog-124938250235712450.post-092348192357990021';
var[postID,blogID]=getId.split(“:blog-”[1]。split(“.post-”);
/*打印邮件ID*/
$('#post id').html(postID);
/*打印博客ID*/
$('#blog id').html(blogID)

获取帖子ID:


获取博客ID:
将对象转换为字符串后,只需使用split和pop即可:

var getId='tag:example.com,1999:blog-124938250235712450.post-092348192357990021',
postID=getId.match(/post-\w*/).toString().split('-').pop(),
blogID=getId.match(/blog-\w*/).toString().split('-').pop();
/*打印邮件ID*/
$('#post id').html(postID);
/*打印博客ID*/
$('#blog id').html(blogID)

获取帖子ID:


获取博客ID:
postID=getId.match(/post-\w*/).split('-').pop()
@connexo无法分割匹配结果。只要
.split('-').pop()
就可以了。这与当前的问题有点无关,但如果这个片段存在于Blogger的模板代码中,那么对于Blog ID,您也可以通过以下数据标记获得它-
@PrayagVerma-Yep,但我的代码需要CDATA,并使用Blogger标记将Blog ID作为变量添加到CDATA中,因此,不会正常工作的!如果我创建一个全局范围变量,我可能会尝试这个想法,因为它听起来不错!谢谢是的,当然,这就是我尝试了几秒钟,效果非常好!谢谢你,Verma:)你也是一个博客开发者吗?我永远不会熟悉那些正则表达式-我总是要用谷歌搜索它xD好solution@Infinyteam:如果要使用正则表达式,当然不需要两个正则表达式<代码>变量id=getId.match(/^.*?blog-(\d+)\.post-(\d+)$/为什么你让你的解决方案更糟糕?不需要
match
,更不需要
toString
:-其目的是使OP的代码在尽可能少的添加的情况下工作。添加
.toString().split('-').pop()
或者不修改任何内容似乎是最接近OP已有解决方案的最小解决方案。为什么要避免删除(对
匹配()
)并强制执行这样的解决方案?从
.split()
一开始,您就有一半好的解决方案,因此添加更多的代码并不能改善解决方案。如果您从正则表达式开始,不妨充分使用它。我将支持所有正则表达式或所有链式方法,但不支持组合。