Перейти к основному содержимому
claw
am
tools
Инструменты
Документы
Daoark
EN
Главная
Главная
/
Инструменты разработчика
›
Главная
manifest.json
0; }); for (var j = 0; j < sub.length; j++) { // 拆 camelCase / PascalCase: 遇到 [a-z][A-Z] 或 [A-Z][A-Z][a-z] 时分割 var w = sub[j]; var re = /([A-Z]+(?=[A-Z][a-z]))|([A-Z]?[a-z]+)|([A-Z]+)|([0-9]+)/g; var m, prevEnd = 0; var tokens = []; while ((m = re.exec(w)) !== null) { tokens.push(m[0]); } if (tokens.length === 0) tokens = [w]; words = words.concat(tokens); } } return words; } function toCamel(words) { if (words.length === 0) return ''; return words.map(function(w, i) { var lower = w.toLowerCase(); if (i === 0) return lower; return lower.charAt(0).toUpperCase() + lower.substring(1); }).join(''); } function toPascal(words) { return words.map(function(w) { var lower = w.toLowerCase(); return lower.charAt(0).toUpperCase() + lower.substring(1); }).join(''); } function toSnake(words) { return words.map(function(w) { return w.toLowerCase(); }).join('_'); } function toScreaming(words) { return words.map(function(w) { return w.toUpperCase(); }).join('_'); } function toKebab(words) { return words.map(function(w) { return w.toLowerCase(); }).join('-'); } function toSpace(words) { return words.map(function(w) { return w.toLowerCase(); }).join(' '); } function doProcess() { try { var textA = getVal('text-a'); if (!textA) { showError('请输入文本'); return; } var op = getVal('op'); var lines = textA.split('\n'); var results = []; var totalWords = 0; for (var i = 0; i < lines.length; i++) { var line = lines[i]; if (!line.trim()) { results.push(''); continue; } var words = splitWords(line); totalWords += words.length; var converted; if (op === 'camel') converted = toCamel(words); else if (op === 'pascal') converted = toPascal(words); else if (op === 'snake') converted = toSnake(words); else if (op === 'screaming') converted = toScreaming(words); else if (op === 'kebab') converted = toKebab(words); else if (op === 'space') converted = toSpace(words); else { showError('未知操作'); return; } results.push(converted); } showResult(results.join('\n'), lines.length + ' 行,共 ' + totalWords + ' 个单词,目标 ' + op); } catch (e) { showError('转换失败: ' + (e.message || e)); } } $('btn-main').addEventListener('click', function(e) { e.preventDefault(); doProcess(); }); $('btn-clear').addEventListener('click', function() { var inputs = document.querySelectorAll('input,textarea,select'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].tagName === 'SELECT') inputs[i].selectedIndex = 0; else inputs[i].value = ''; } var ra = $('result-area'); ra.hidden = true; ra.style.display = 'none'; var em = $('error-msg'); em.hidden = true; em.style.display = 'none'; }); })();