ctrl + shift 切换大小写

ctrl + shift切换选择文本的大小写(全部大写、全部小写或者首字母大写)

// ==UserScript==
// @name        ctrl + shift 切换大小写
// @namespace   ctrlnshift
// @match       http://tool-bcg.bwe.io/editor/promo.php?*
// @version     1.4
// @author      Tiger
// @grant       none
// @description ctrl + shift切换选择文本的大小写(全部大写、全部小写或者首字母大写)
// ==/UserScript==
class ToggleCase{
	constructor(id){
		this.el = document.getElementById(id);
		this.iCount = 1;
	}
	getStartIndex(){
		return this.el.selectionStart;
	}
	getEndIndex(){
		return this.el.selectionEnd;
	}
	toggle(start,selected,end){
		switch(this.iCount)
		{
			case 1:
				this.el.value = start + selected.toLowerCase() + end;
				this.iCount++;
			break;
			case 2:
				this.el.value = start + selected.replace(/(^|\s+)\w/g,s=>s.toUpperCase())+ end;
				this.iCount++;
			break;
			case 3:
				this.el.value = start + selected.toUpperCase() + end;
				this.iCount = 1;
			break;
		}
	}
	exe(){
		this.el.addEventListener('keydown',(e)=>{
			//if(e.shiftKey && e.key=='F9')
			if(e.shiftKey && e.ctrlKey)
			{
				e.preventDefault();
				let iStart = this.getStartIndex();
				let iEnd = this.getEndIndex();
				let sStart = this.el.value.substring(0,iStart);
				let sSelected = this.el.value.substring(iStart,iEnd);
				let sEnd = this.el.value.substring(iEnd,this.el.value.length);
				this.toggle(sStart,sSelected,sEnd);
				this.el.setSelectionRange(iStart,iEnd);
			}
		});
	}
}
let oTitle = new ToggleCase('title');
let oCode = new ToggleCase('couponCode');
let oDes = new ToggleCase('description');
oTitle.exe();
oCode.exe();
oDes.exe();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址