更新“工具”页面;主页可访问“工具”页面
This commit is contained in:
182
docs/js/tool.js
182
docs/js/tool.js
@@ -1,16 +1,180 @@
|
||||
/* ---- */
|
||||
/* 计算 */
|
||||
/* ---- */
|
||||
|
||||
function toolCalculateSubmit() {
|
||||
getInput = document.getElementById("tool-calculate-input");
|
||||
getToFixed = document.getElementsByClassName("tool-calculate-tofixed")[0];
|
||||
getResult = document.getElementsByClassName("tool-calculate-result")[0].getElementsByTagName("span")[0];
|
||||
if (getToFixed.value >= 0 && getToFixed.value <= 16) {
|
||||
getResult.innerText = eval(getInput.value).toFixed(getToFixed.value);
|
||||
GetInput = document.getElementById("tool-calculate-input"); // 算式输入框
|
||||
GetToFixed = document.getElementsByClassName("tool-calculate-tofixed")[0]; // 保留小数点后的位数
|
||||
GetResult = document.getElementsByClassName("tool-calculate-result")[0].getElementsByTagName("span")[0]; // 结果
|
||||
GetCal = GetInput.value; // 获取输入的算式
|
||||
GetCal = GetCal.replace(/π/g, "Math.PI"); // 替换(圆周率,Math.PI)
|
||||
GetCal = GetCal.replace(/幂/g, "Math.pow"); // 替换(乘方运算,Math.pow)
|
||||
GetCal = GetCal.replace(/平方根/g, "Math.sqrt"); // 替换(乘方运算,Math.pow)
|
||||
// 运行 //
|
||||
if (GetToFixed.value >= 0 && GetToFixed.value <= 16) {
|
||||
GetResult.innerText = eval(GetCal).toFixed(GetToFixed.value);
|
||||
} else {
|
||||
getResult.innerText = "错误";
|
||||
GetResult.innerText = "保留位数有误(0 ~ 16 之间)";
|
||||
}
|
||||
}
|
||||
|
||||
function toolCalculateClear() {
|
||||
getInput = document.getElementById("tool-calculate-input");
|
||||
getInput.value = '';
|
||||
getResult.innerText = '';
|
||||
GetInput = document.getElementById("tool-calculate-input"); // 算式输入框
|
||||
GetInput.value = ''; // 清空“输入框”和“结果”
|
||||
GetResult.innerText = ''; // 清空“结果”
|
||||
}
|
||||
|
||||
/* ---------------- */
|
||||
/* 生成批量下载链接 */
|
||||
/* ---------------- */
|
||||
|
||||
function toolGenLinkSubmit() {
|
||||
var VarText = "(*)"; // 变量表示
|
||||
var BaseLink = document.getElementsByClassName("tool-genlink-link")[0].getElementsByTagName("input")[0].value; // 网址
|
||||
var GetSettingType = document.getElementsByName("genlink-settings"); // 批量变化类型
|
||||
// 设定 //
|
||||
var GetSettingA = document.getElementsByClassName("genlink-settings-a")[0].getElementsByTagName("input"); // 等差数列
|
||||
var GetSettingB = document.getElementsByClassName("genlink-settings-b")[0].getElementsByTagName("input"); // 等比数列
|
||||
var GetSettingC = document.getElementsByClassName("genlink-settings-c")[0].getElementsByTagName("input"); // 字母变化
|
||||
// 结果 //
|
||||
var GetResult = document.getElementById("tool-genlink-result");
|
||||
var LinkReplace = '';
|
||||
var LinkResult = '';
|
||||
// 自动补零 //
|
||||
function AddZero() {
|
||||
if (NumLength < NumLastLength) {
|
||||
var ZeroMax = NumLastLength - NumLength; // 自动补零的个数
|
||||
// 自动补 0 //
|
||||
for (let i = 1; i <= ZeroMax; i++) {
|
||||
Num = "0" + Num;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 替换变量;替换变量;判断是否开启倒序;拼接结果;拼接结果 //
|
||||
function CheckReverse() {
|
||||
LinkReplace = BaseLink.replace(VarText, Num); // 替换链接中的变量为当前值(VarText 替换为 Num)
|
||||
if (GetReverse == false) {
|
||||
// console.log("非倒序");
|
||||
LinkResult = LinkResult + LinkReplace + "\n"; // 拼接结果
|
||||
} else if (GetReverse == true) {
|
||||
// console.log("倒序");
|
||||
LinkResult = LinkReplace + "\n" + LinkResult; // 拼接结果
|
||||
}
|
||||
}
|
||||
// 运行 //
|
||||
if (GetSettingType[0].checked == true) {
|
||||
// 等差数列 //
|
||||
// console.log("等差数列");
|
||||
var GetFirst = parseInt(GetSettingA[1].value); // 首项
|
||||
var GetLength = parseInt(GetSettingA[2].value); // 项数
|
||||
var GetDiff = parseInt(GetSettingA[3].value); // 公差
|
||||
var GetZero = GetSettingA[4].checked; // 补零
|
||||
var GetReverse = GetSettingA[5].checked; // 倒序
|
||||
// 判断是否开启补零 //
|
||||
if (GetZero == true) {
|
||||
// 等差数列 补零 //
|
||||
// console.log("等差数列 补零");
|
||||
var Num; // 当前项的值
|
||||
var NumLength; // 当前项的值的位数
|
||||
var NumLast = GetFirst + (GetLength - 1) * GetDiff; // 根据等差数列通项公式计算末项的值
|
||||
var NumLastLength = NumLast.toString().length; // 末项的值的位数
|
||||
// console.log("末项的值:" + NumLast);
|
||||
for (var i = 1; i <= GetLength; i++) {
|
||||
Num = GetFirst + (i - 1) * GetDiff; // 根据等差数列通项公式计算当前项的值
|
||||
NumLength = Num.toString().length; // 当前项的值的位数
|
||||
AddZero(); // 若位数不足,自动补零
|
||||
CheckReverse(); // 替换变量;判断是否开启倒序;拼接结果
|
||||
}
|
||||
} else if (GetZero == false) {
|
||||
// 等差数列 不补零 //
|
||||
// console.log("等差数列 不补零");
|
||||
var Num; // 当前项的值
|
||||
for (var i = 1; i <= GetLength; i++) {
|
||||
Num = GetFirst + (i - 1) * GetDiff; // 根据等差数列通项公式计算当前项的值
|
||||
CheckReverse(); // 替换变量;判断是否开启倒序;拼接结果
|
||||
}
|
||||
}
|
||||
} else if (GetSettingType[1].checked == true) {
|
||||
// 等比数列 //
|
||||
var GetFirst = parseInt(GetSettingB[1].value); // 首项
|
||||
var GetLength = parseInt(GetSettingB[2].value); // 项数
|
||||
var GetDiff = parseInt(GetSettingB[3].value); // 公比
|
||||
var GetZero = GetSettingB[4].checked; // 补零
|
||||
var GetReverse = GetSettingB[5].checked; // 倒序
|
||||
// 判断是否开启补零 //
|
||||
if (GetZero == true) {
|
||||
// 等比数列 补零 //
|
||||
// console.log("等比数列 补零");
|
||||
var Num; // 当前项的值
|
||||
var NumLength; // 当前项的值的位数
|
||||
var NumLast = GetFirst * Math.pow(GetDiff, (GetLength - 1)); // 根据等比数列通项公式计算末项的值
|
||||
var NumLastLength = NumLast.toString().length; // 末项的值的位数
|
||||
// console.log("末项的值:" + NumLast);
|
||||
for (var i = 1; i <= GetLength; i++) {
|
||||
Num = GetFirst * Math.pow(GetDiff, (i - 1)); // 根据等比数列通项公式计算当前项的值
|
||||
NumLength = Num.toString().length; // 当前项的值的位数
|
||||
AddZero(); // 若位数不足,自动补零
|
||||
CheckReverse(); // 替换变量;判断是否开启倒序;拼接结果
|
||||
}
|
||||
} else if (GetZero == false) {
|
||||
// 等比数列 不补零 //
|
||||
// console.log("等比数列 不补零");
|
||||
var Num; // 当前项的值
|
||||
for (var i = 1; i <= GetLength; i++) {
|
||||
Num = GetFirst * Math.pow(GetDiff, (i - 1)); // 根据等比数列通项公式计算当前项的值
|
||||
CheckReverse(); // 替换变量;判断是否开启倒序;拼接结果
|
||||
}
|
||||
}
|
||||
} else if (GetSettingType[2].checked == true) {
|
||||
// 字母变化 //
|
||||
var GetFirst = GetSettingC[1].value.charCodeAt(0); // 从(获取对应字母的 Unicode 编码)
|
||||
var GetLast = GetSettingC[2].value.charCodeAt(0); // 到(获取对应字母的 Unicode 编码)
|
||||
var GetReverse = GetSettingC[3].checked; // 倒序
|
||||
// console.log("从:" + GetFirst);
|
||||
// console.log("到:" + GetLast);
|
||||
// console.log("倒序:" + GetReverse);
|
||||
if (GetFirst >= 65 && GetFirst <= 122 && GetLast >= 65 && GetLast <= 122) {
|
||||
if (GetFirst < GetLast) {
|
||||
for (var i = GetFirst; i <= GetLast; i++) {
|
||||
if (i >= 91 && i <= 96) {
|
||||
continue; // 若为 [ \ ] ^ _ ` 则跳出循环
|
||||
}
|
||||
Num = String.fromCharCode(i); // 获取对应 Unicode 编码的字母
|
||||
CheckReverse(); // 替换变量;判断是否开启倒序;拼接结果
|
||||
}
|
||||
} else if (GetFirst > GetLast) {
|
||||
GetResult.placeholder = "字母先后顺序有误。\n请按此顺序填写:\nA - Z a - z\n例如:\n从 a 到 d\n从 A 到 D\n从 X 到 g";
|
||||
} else if (GetFirst == GetLast) {
|
||||
GetResult.placeholder = "仅有 1 条链接,无需生成。";
|
||||
} else {
|
||||
GetResult.placeholder = "异常。";
|
||||
}
|
||||
} else {
|
||||
GetResult.placeholder = "超出范围。";
|
||||
}
|
||||
} else {
|
||||
// 异常 //
|
||||
GetResult.placeholder = "类型选择有误";
|
||||
}
|
||||
GetResult.value = LinkResult; // 输出批量结果
|
||||
}
|
||||
|
||||
function toolGenLinkClear() {
|
||||
var GetResult = document.getElementById("tool-genlink-result");
|
||||
GetResult.value = ''; // 清空结果
|
||||
GetResult.placeholder = "结果";
|
||||
}
|
||||
|
||||
/* --------------- */
|
||||
/* 运行 JavaScript */
|
||||
/* --------------- */
|
||||
|
||||
function toolRunJSSubmit() {
|
||||
GetCode = document.getElementById("tool-runjs-input"); // 代码输入框
|
||||
eval(GetCode.value); // 运行
|
||||
}
|
||||
|
||||
function toolRunJSClear() {
|
||||
GetCode = document.getElementById("tool-runjs-input"); // 代码输入框
|
||||
GetCode.value = ''; // 清空
|
||||
}
|
||||
|
Reference in New Issue
Block a user