有没有javascript的正则表达式可以将:
someCamelCase转换为some-file-case
或者
SomeCamelCase转换为some-file-case
??
如果有的话,那会非常有帮助。
谢谢。
有没有javascript的正则表达式可以将:
someCamelCase转换为some-file-case
或者
SomeCamelCase转换为some-file-case
??
如果有的话,那会非常有帮助。
谢谢。
function fileCase(str) {
return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
}
fileCase('SomeCamelCase'); // "some-camel-case"
fileCase('someCamelCase'); // "some-camel-case"
试试这个。
"SomeCamelCase".replace(/[A-Z]/g, function(m){return '_' + m.toLowerCase();});
或者作为一个函数
function camelToHiphen(str){
return str.replace(/[A-Z]/g, function(m){return '_' + m.toLowerCase();});
}
免责声明:我不赞成以下方式破坏字符串原型。
这是一个字符串原型方法,用于将驼峰式转换为连字符式,并考虑大写开头的字符。
String.prototype.camelToHyphen = function() {
return this.replace(/((?!^)[A-Z])/g, '-$1').toLowerCase();
};
String.prototype.hyphenToCamel = function() {
return (/-[a-z]/g.test(this)) ? this.match(/-[a-z]/g).map(function(m, n){
return m.replace(n, n.toUpperCase()[1]);
}, this) : this.slice(0);
};
我想这些问题很常见,但我立即找不到以这种方式总结它们的任何资料。