Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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_Css_Regex_Syntax_Uppercase - Fatal编程技术网

Javascript 在破折号后大写字母并删除破折号

Javascript 在破折号后大写字母并删除破折号,javascript,css,regex,syntax,uppercase,Javascript,Css,Regex,Syntax,Uppercase,如果您还没有从标题中猜到,我正在尝试使用JS将CSS属性语法转换为JS语法。这意味着我想把输入“marginTop”转换成“marginTop”。我知道只需几行代码和replace函数就可以轻松完成,但我想知道regex是否会有一个更简单、更紧凑的解决方案 所以,我的问题是,我将使用什么正则表达式来替换-\w,而不使用破折号和大写字母。如果这恰好是不可能的,那么使用replace函数最简单的解决方案是什么 谢谢您的帮助。如果您搜索camelCase,您将找到以下功能: 'margin-top-s

如果您还没有从标题中猜到,我正在尝试使用JS将CSS属性语法转换为JS语法。这意味着我想把输入“marginTop”转换成“marginTop”。我知道只需几行代码和replace函数就可以轻松完成,但我想知道regex是否会有一个更简单、更紧凑的解决方案

所以,我的问题是,我将使用什么正则表达式来替换-\w,而不使用破折号和大写字母。如果这恰好是不可能的,那么使用replace函数最简单的解决方案是什么

谢谢您的帮助。

如果您搜索
camelCase
,您将找到以下功能:

'margin-top-something'.replace(/(-.)/g,function(x){return x[1].toUpperCase()})
function camelCase (string) {
    return string.replace( /-([a-z])/ig, function( all, letter ) {
        return letter.toUpperCase();
    });
}

(除此之外,regex和callback是单独定义的)。

如果后面有一个数字,则函数无法删除破折号。“this-is-1-test”返回为“this-1Test”。将正则表达式更改为/-([a-z]|[0-9])/ig来修复它,因此我们得到“thisIs1Test”。