在短划线之后大写字母并删除短划线

时间:2011-05-15 15:38:27

标签: javascript css regex syntax uppercase

如果您没有从标题中猜到,我正在尝试使用JS将CSS属性语法转换为JS语法。这意味着我想要输入'margin-top'并将其转换为'marginTop'。我知道这可以通过几行和替换功能轻松完成,但我想知道正则表达式是否会有一个更简单,更紧凑的解决方案。

所以,我的问题是我将使用正则表达式替换 - \ w,没有破折号和单词uppercased的第一个字母。如果这是不可能的,那么使用替换功能的最简约解决方案是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:11)

如果您在camelCase搜索function camelCase (string) { return string.replace( /-([a-z])/ig, function( all, letter ) { return letter.toUpperCase(); }); } ,您会找到此功能:

{{1}}

(除此之外,正则表达式和回调是分开定义的。)

答案 1 :(得分:5)

'margin-top-something'.replace(/(-.)/g,function(x){return x[1].toUpperCase()})