diff --git a/resistance.html b/resistance.html index 8c53eda..67b7e44 100755 --- a/resistance.html +++ b/resistance.html @@ -178,9 +178,6 @@ if (valueType === "choose") { errors.push("请选择电阻类型"); } - if (!isNumeric(inputValue) || (inputValue.length > 4 && /[a-zA-Z]/.test(inputValue))) { - errors.push("阻值错误"); - } if (valueType === "choose") { errors.push("请选择封装类型"); @@ -203,15 +200,15 @@ let convertedValue; if (valueType === "general-re") { - convertedValue = "1110" + formatInputValue(inputValue) + printValue + serialValue; + convertedValue = "1110" + res_namer(inputValue) + printValue + serialValue; } else if (valueType === "metal-re") { - convertedValue = "1111" + formatInputValue(inputValue) + printValue + serialValue; + convertedValue = "1111" + res_namer(inputValue) + printValue + serialValue; } else if (valueType === "temp-re") { - convertedValue = "1112" + formatInputValue(inputValue) + printValue + serialValue; + convertedValue = "1112" + res_namer(inputValue) + printValue + serialValue; } else if (valueType === "lignt-re") { - convertedValue = "1113" + formatInputValue(inputValue) + printValue + serialValue; + convertedValue = "1113" + res_namer(inputValue) + printValue + serialValue; } else if (valueType === "other-re") { - convertedValue = "1119" + formatInputValue(inputValue) + printValue + serialValue; + convertedValue = "1119" + res_namer(inputValue) + printValue + serialValue; } @@ -222,16 +219,32 @@ } } -function formatInputValue(inputValue) { - if (inputValue.length > 4) { - inputValue = inputValue.substring(0, 4); - } else { - while (inputValue.length < 4) { - inputValue = "0" + inputValue; - } - } - return inputValue; -} +function res_namer(value_str) { + value_str = value_str.toLowerCase(); + if (value_str.includes('k')) { + base = 1000; + } else if (value_str.includes('m')) { + base = 1000000; + } else if (value_str.includes('g')) { + base = 1000000000; + } else if (value_str.includes('r')) { + base = 1; + } else { + throw '错误的值'; + } + value_flt = parseFloat(value_str); + inner_flt = value_flt * base; + if (inner_flt < 1 && inner_flt > 0) { + inner_flt=inner_flt*10 + code = "0"+"R"+inner_flt.toString().replace('.', ''); + } + else if (inner_flt < 10 && inner_flt > 1) { + code = inner_flt.toString().replace('.', ''); + } else { + code = inner_flt.toString().slice(0, 3) + (inner_flt.toString().length - 1); + } + return code; + } function isNumeric(value) { return /^\d+$/.test(value);