正则表达式:代码风格互转

三种常见命名风格:

  • 驼峰风格:testTest
  • 连字风格:test-test
  • 下划线风格:test_test

转驼峰

function camelize(target) {
  return target.replace(/[_-][^_-]/g, function (match) {
    return match.charAt(1).toUpperCase();
  });
}
camelize("te-pp"); // "tePp"

转下划线

function underscored(target) {
  return target
    .replace(/([a-z\d])([A-Z])/g, "$1_$2")
    .replace(/-/g, "_")
    .toLowerCase();
}

转连字符

function dasherize(target) {
  return target
    .replace(/([a-z\d])([A-Z])/g, "$1_$2")
    .replace(/_/g, "-")
    .toLowerCase();
}