javascript - 从 javascript regex.exec 分配多个变量

标签 javascript

我正在尝试找到一些可以在 Firefox 中运行但不能在其他浏览器中运行的代码的解决方法,目前该函数如下所示:

function capitalise(myString) {
  // Extract 1st char (b) and rest of string (c) then return it with b capitalised
  var [a, b, c] = /^(.)(.*)$/.exec(myString);
  return b.toUpperCase()+c;
}

这在 Firefox 中完美运行,但 Chrome 和 Opera 不允许。任何人都可以建议一个不错的解决方法吗?

我使用相同的 var [ thing1, thing2, thing3 ] = regex.exec(str);我目前正在编写的脚本中各种内容的语法。

最佳答案

我想这也适用于其他浏览器:

function capitalise(myString) {
  // Extract 1st char (b) and rest of string (c) 
  // then return it with b capitalised
  var abc = /^(.)(.*)$/.exec(myString);
  return abc[1].toUpperCase()+abc[2];
}

或者:

function capitalise(myString) {
  return myString.match(/^(.)(.+)$/)
          .slice(1)
          .reduce(function(a,b){return a.toUpperCase()+b;}
         );
}

关于javascript - 从 javascript regex.exec 分配多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298993/

相关文章:

javascript - 发布带有控制字符的表单

javascript - Jquery Mobile 不透明度不起作用 :(

javascript - 重建提示框行为

javascript - 使用溢出 :hidden property of the parent div 获取隐藏元素的位置

javascript - 通过事件监听器打开/关闭传单图例

javascript - v-html 中的 Vue.js v-model

javascript - 将 jquery 变量赋值给 php 变量

javascript - 当 WebService 托管在 Azure 云上时,Jquery AJAX 调用失败

javascript - 使用 JavaScript 查询正则表达式

javascript - js中获取xml节点的行号