如果你没有从标题中猜到,我正在尝试使用 JS 将 CSS 属性语法转换为 JS 语法。这意味着我想获取输入“margin-top”并将其转换为“marginTop”。我知道这可以通过几行代码和替换函数轻松完成,但我想知道正则表达式是否有一个更简单、更紧凑的解决方案。
所以,我的问题是我将使用什么正则表达式来替换 -\w ,不带破折号且单词的第一个字母大写。如果这不可能,那么使用替换功能的最简单的解决方案是什么?
感谢您的帮助。
如果您在 jQuery 源 中搜索
camelCase
,您将找到此函数:
function camelCase (string) {
return string.replace( /-([a-z])/ig, function( all, letter ) {
return letter.toUpperCase();
});
}
(除了其中的正则表达式和回调是单独定义的)。
使用正则表达式
(-.)
替换所有内容,如下所示:
'margin-top-something'.replace(/(-.)/g, x=> x[1].toUpperCase())