diff --git a/src/assets/js/qccommands.js b/src/assets/js/qccommands.js index 7c30c0f..276dca8 100644 --- a/src/assets/js/qccommands.js +++ b/src/assets/js/qccommands.js @@ -131,6 +131,7 @@ let getCommandType = cmds => { if (cmds.length == 1) { let type = cmds[0].type if (!type) return 'key' + if (type == 'over') return 'regex' if (type == 'window' || cmds[0].minNum) return type return 'professional' } @@ -438,7 +439,8 @@ let SaveCurrentCommand = async () => { charset = $('#charset').data() var cmd = window.editor.getValue(); if (tags && tags.includes("默认") && !isDev()) return - if (!rule) return quickcommand.showMessageBox(`${$('#ruleWord').text().replace(" ", "")} 不能留空!`, 'error') + // 留空检测 + if (type != "regex" && !rule) return quickcommand.showMessageBox(`${$('#ruleWord').text().replace(" ", "")} 不能留空!`, 'error') if (!cmdCheck(type, cmd)) return if (!code) { // 生成唯一code @@ -456,15 +458,24 @@ let SaveCurrentCommand = async () => { if (type == 'key') { cmds = rule.split(",").map(x => x.trim()) } else if (type == 'regex') { - if (!/^\/.*?\/[igm]*$/.test(rule)) { - rule = "/" + rule + "/" + // 留空匹配所有文本 + if (!rule) { + cmds = [{ + "label": desc, + "type": "over", + "minNum": 1 + }]; + } else { + if (!/^\/.*?\/[igm]*$/.test(rule)) { + rule = "/" + rule + "/" + } + cmds = [{ + "label": desc, + "type": "regex", + "match": rule, + "minNum": 1 + }]; } - cmds = [{ - "label": desc, - "type": "regex", - "match": rule, - "minNum": 1 - }]; } else if (type == 'window') { var cmdOfWin = { "label": desc, @@ -866,25 +877,25 @@ let typeCheck = () => { case 'key': $("#ruleWord").html("关键字"); $(".var.regex, .var.window, .var.files").prop("disabled", true) - $("#rule").prop("placeholder", '多个关键字用逗号隔开'); + $("#rule").prop("placeholder", '例:mycommand,cs'); break; case 'regex': $("#ruleWord").html("正 则"); $(".var.window, .var.files").prop("disabled", true) $(".var.regex").prop("disabled", false) - $("#rule").prop("placeholder", '匹配文本的正则,如 /.*?\\.exe$/i'); + $("#rule").prop("placeholder", '例:/\\d{18}/,留空匹配所有文本'); break; case 'files': $("#ruleWord").html("正 则"); $(".var.regex, .var.window").prop("disabled", true) $(".var.files").prop("disabled", false) - $("#rule").prop("placeholder", '匹配文件的正则,如 /.*?\\.exe$/i'); + $("#rule").prop("placeholder", '例:/.*?\\.exe$/i'); break; case 'window': $("#ruleWord").html("进 程"); $(".var.regex, .var.files").prop("disabled", true) $(".var.window").prop("disabled", false) - $("#rule").prop("placeholder", '多个窗口进程逗号隔开'); + $("#rule").prop("placeholder", '例:word.exe,excel.exe'); break; case 'professional': $("#ruleWord").html("配 置"); diff --git a/src/assets/js/qcfeatures.js b/src/assets/js/qcfeatures.js index 1c825e6..afe3f12 100644 --- a/src/assets/js/qcfeatures.js +++ b/src/assets/js/qcfeatures.js @@ -128,8 +128,13 @@ let showCommandByType = features => { } else { let rules = cmds[0].match if (type == 'regex') { - if (rules.length > 14) rules = rules.slice(0, 14) + '...'; - qcType = `
正则
${window.htmlEncode(rules, true)}
`; + qcType += `
文本
` + if (!rules) { + qcType += `所有文本` + } else { + if (rules.length > 14) rules = rules.slice(0, 14) + '...'; + qcType += `${window.htmlEncode(rules, true)}
`; + } } else if (type == 'window') { qcType += `
窗口
` // if (!rules) { diff --git a/src/assets/js/qctemplates.js b/src/assets/js/qctemplates.js index 9d5f6aa..d342ce5 100644 --- a/src/assets/js/qctemplates.js +++ b/src/assets/js/qctemplates.js @@ -20,7 +20,7 @@ let command = {

匹 配 - 关键字

+ 关键字

说 明

diff --git a/src/defaults/default_textManipulation.json b/src/defaults/default_textManipulation.json index ec753c0..adb6e16 100644 --- a/src/defaults/default_textManipulation.json +++ b/src/defaults/default_textManipulation.json @@ -5,8 +5,7 @@ "cmds": [ { "label": "文本处理", - "type": "regex", - "match": "/.*?/", + "type": "over", "minNum": 1 } ], @@ -25,4 +24,4 @@ "tags": [ "默认" ] -} \ No newline at end of file +}