Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 从字符串中提取数值并检查是否存在_Javascript_Regex - Fatal编程技术网

Javascript 从字符串中提取数值并检查是否存在

Javascript 从字符串中提取数值并检查是否存在,javascript,regex,Javascript,Regex,我有当前哈希#link1234 我需要使用javascript检查以下情况: 当前window.location有一个哈希 它的形式是#link[0-9]+ 如果一切顺利的话,我必须提取那个数字 有可能吗?(也许是和埃雷格在一起?) 谢谢使用此选项匹配一个1,后跟任意数量的其他数字: var res = /#link(1\d*)$/.exec(window.location) 或要匹配任何数字组合,请使用以下命令: var res = /#link(\d+)$/.exec(window.l

我有当前哈希
#link1234

我需要使用javascript检查以下情况:

  • 当前window.location有一个哈希
  • 它的形式是#link[0-9]+
如果一切顺利的话,我必须提取那个数字

有可能吗?(也许是和埃雷格在一起?)


谢谢

使用此选项匹配一个
1
,后跟任意数量的其他数字:

var res = /#link(1\d*)$/.exec(window.location)
或要匹配任何数字组合,请使用以下命令:

var res = /#link(\d+)$/.exec(window.location)
这相当于:

var res = /#link([0-9]+)$/.exec(window.location)
如果不匹配,
res
的值将为
null
。否则,
res
将是一个数组,其第二个位置具有匹配的数字,可以这样引用:

res[1] // contains any matched digits

当然这是可能的,甚至比你想象的还要简单

检查当前window.location是否有哈希: if(window.location.hash!==“”){ //哈希存在! } 哈希的提取编号具有给定格式: var hash='#link1234'; var regex=/^#?link([0-9]+)$/i; var match=regex.exec(散列); 如果(匹配!=null){ var num=m[1]; }
regexp使用显式定义的值“link”。如果使用其他类型的散列,则必须对其进行调整。

不要忘记捕获4位数字。抱歉,这不仅仅是4位数字。它们可以是从1@yes123-人力资源部,好的。最新版本至少匹配一个数字,以1开头,后跟任意数量的其他数字我可以使用([0-9]+)?我怎么知道这个正则表达式是否不匹配?@yes123-你可能想更新你的问题,准确地说出你在找什么我想你的意思是:
var num=match[1]
if (window.location.hash !== "") { // a hash exists! } var hash = '#link1234'; var regex = /^#?link([0-9]+)$/i; var match = regex.exec(hash); if (match != null) { var num = m[1]; }