2019-12-12 15:00:47 +08:00
var Settings = { Global : { FontSize : localStorage . getItem ( "SettingFont" ) } , Tool : { GenString : { length : "8" , hasNum : true , hasChar : false , hasSymbol : false , caseSense : true , lowerCase : false } } }
function toTop ( ) { document . body . scrollTop = 0 ; document . documentElement . scrollTop = 0 ; }
function toolSettingsFont ( mode ) { var RootEle = document . querySelector ( "html" ) ; var Input = document . querySelector ( ".tool-setting-font p input" ) ; var Output = document . querySelector ( ".tool-setting-font p label" ) ; switch ( mode ) { case "reset" : Settings . Global . FontSize = "16" ; localStorage . setItem ( "SettingFont" , Settings . Global . FontSize ) ; Output . innerHTML = Input . value = Settings . Global . FontSize ; RootEle . style . fontSize = Settings . Global . FontSize + "px" ; break ; case "get" : if ( Settings . Global . FontSize == null ) { toolSettingsFont ( "reset" ) ; }
Output . innerHTML = Input . value = Settings . Global . FontSize ; RootEle . style . fontSize = Settings . Global . FontSize + "px" ; break ; case "show" : Output . innerHTML = Input . value ; break ; case "set" : Settings . Global . FontSize = Input . value ; localStorage . setItem ( "SettingFont" , Settings . Global . FontSize ) ; RootEle . style . fontSize = Settings . Global . FontSize + "px" ; break ; default : break ; } }
function toolUnixTimeToUnix ( GetTime , isMillisecond ) { var Time = new Date ( ) ; Time . setFullYear ( GetTime . substring ( 0 , 4 ) ) ; Time . setMonth ( GetTime . substring ( 5 , 7 ) - 1 ) ; Time . setDate ( GetTime . substring ( 8 , 10 ) ) ; Time . setHours ( GetTime . substring ( 11 , 13 ) ) ; Time . setMinutes ( GetTime . substring ( 14 , 16 ) ) ; Time . setSeconds ( GetTime . substring ( 17 , 19 ) ) ; if ( isMillisecond == false ) { var TextLength = Time . getTime ( ) . toString ( ) . length ; return Time . getTime ( ) . toString ( ) . substring ( 0 , TextLength - 3 ) ; } else if ( isMillisecond == true ) { var TextLength = Time . getTime ( ) . toString ( ) . length ; return Time . getTime ( ) . toString ( ) . substring ( 0 , TextLength - 3 ) + "000" ; } else { return "模式有误!" ; } }
2019-12-12 00:19:45 +08:00
function toolUnixTimeToTime ( GetUnix , isMillisecond ) { var Time = new Date ( ) ; if ( isMillisecond == false ) { GetUnix = GetUnix + "000" ; Time . setTime ( GetUnix ) ; } else if ( isMillisecond == true ) { Time . setTime ( GetUnix ) ; } else { Time . setTime ( "0" ) ; }
var TimeYear = Time . getFullYear ( ) ; var TimeMonth = Time . getMonth ( ) + 1 ; if ( TimeMonth < 10 ) { TimeMonth = "0" + TimeMonth ; }
var TimeDate = Time . getDate ( ) ; if ( TimeDate < 10 ) { TimeDate = "0" + TimeDate ; }
var TimeHour = Time . getHours ( ) ; if ( TimeHour < 10 ) { TimeHour = "0" + TimeHour ; }
var TimeMinute = Time . getMinutes ( ) ; if ( TimeMinute < 10 ) { TimeMinute = "0" + TimeMinute ; }
var TimeSecond = Time . getSeconds ( ) ; if ( TimeSecond < 10 ) { TimeSecond = "0" + TimeSecond ; }
return TimeYear + "-" + TimeMonth + "-" + TimeDate + " " + TimeHour + ":" + TimeMinute + ":" + TimeSecond ; }
function toolUnixTimeNow ( ) { var GetInputA = document . getElementById ( "tool-unixtime-input-a" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetInputB = document . getElementById ( "tool-unixtime-input-b" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetSettingAA = document . getElementById ( "unixtime-setting-aa" ) . checked ; var GetSettingAB = document . getElementById ( "unixtime-setting-ab" ) . checked ; var GetSettingBA = document . getElementById ( "unixtime-setting-ba" ) . checked ; var GetSettingBB = document . getElementById ( "unixtime-setting-bb" ) . checked ; if ( GetSettingAA == true ) { var Time = new Date ( ) ; var TextLength = Time . getTime ( ) . toString ( ) . length ; GetInputA . value = Time . getTime ( ) . toString ( ) . substring ( 0 , TextLength - 3 ) ; } else if ( GetSettingAB == true ) { GetInputA . value = new Date ( ) . getTime ( ) ; }
GetInputB . value = toolUnixTimeToTime ( new Date ( ) . getTime ( ) , true ) ; }
function toolUnixTimeSubmit ( ) { var GetInputA = document . getElementById ( "tool-unixtime-input-a" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetInputB = document . getElementById ( "tool-unixtime-input-b" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetOutputA = document . getElementById ( "tool-unixtime-output-a" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetOutputB = document . getElementById ( "tool-unixtime-output-b" ) . getElementsByTagName ( "input" ) [ 0 ] ; var GetSettingAA = document . getElementById ( "unixtime-setting-aa" ) . checked ; var GetSettingAB = document . getElementById ( "unixtime-setting-ab" ) . checked ; var GetSettingBA = document . getElementById ( "unixtime-setting-ba" ) . checked ; var GetSettingBB = document . getElementById ( "unixtime-setting-bb" ) . checked ; if ( GetSettingAA == true ) { GetOutputA . value = toolUnixTimeToTime ( GetInputA . value , false ) ; } else if ( GetSettingAB == true ) { GetOutputA . value = toolUnixTimeToTime ( GetInputA . value , GetSettingAB ) ; }
GetOutputB . value = toolUnixTimeToUnix ( GetInputB . value , GetSettingBB ) ; }
function toolUnixTimeClear ( ) { document . querySelector ( "#tool-unixtime-input-a input" ) . value = '' ; document . querySelector ( "#tool-unixtime-input-b input" ) . value = '' ; document . querySelector ( "#tool-unixtime-output-a input" ) . value = '' ; document . querySelector ( "#tool-unixtime-output-b input" ) . value = '' ; }
function toolCalculateSubmit ( ) { GetInput = document . getElementById ( "tool-calculate-input" ) ; GetToFixed = document . getElementById ( "tool-calculate-tofixed" ) ; GetResult = document . getElementById ( "tool-calculate-result" ) . getElementsByTagName ( "span" ) [ 0 ] ; GetCal = GetInput . value ; GetCal = GetCal . replace ( /π/g , "Math.PI" ) ; GetCal = GetCal . replace ( /幂/g , "Math.pow" ) ; GetCal = GetCal . replace ( /平方根/g , "Math.sqrt" ) ; if ( GetToFixed . value >= 0 && GetToFixed . value <= 16 ) { GetResult . innerText = eval ( GetCal ) . toFixed ( GetToFixed . value ) ; } else { GetResult . innerText = "保留位数有误( 0 ~ 16 之间)" ; } }
function toolCalculateClear ( ) { GetInput = document . getElementById ( "tool-calculate-input" ) ; GetInput . value = '' ; GetResult . innerText = '' ; }
function toolGenLinkSubmit ( ) { var VarText = "(*)" ; var BaseLink = document . getElementById ( "tool-genlink-link" ) . getElementsByTagName ( "input" ) [ 0 ] . value ; var GetSettingType = document . getElementsByName ( "genlink-settings" ) ; var GetSettingA = document . getElementById ( "tool-genlink-settings-a" ) . getElementsByTagName ( "input" ) ; var GetSettingB = document . getElementById ( "tool-genlink-settings-b" ) . getElementsByTagName ( "input" ) ; var GetSettingC = document . getElementById ( "tool-genlink-settings-c" ) . getElementsByTagName ( "input" ) ; var GetResult = document . getElementById ( "tool-genlink-result" ) ; var LinkReplace = '' ; var LinkResult = '' ; function AddZero ( ) { if ( NumLength < NumLastLength ) { var ZeroMax = NumLastLength - NumLength ; for ( let i = 1 ; i <= ZeroMax ; i ++ ) { Num = "0" + Num ; } } }
function CheckReverse ( ) { LinkReplace = BaseLink . replace ( VarText , Num ) ; if ( GetReverse == false ) { LinkResult = LinkResult + LinkReplace + "\n" ; } else if ( GetReverse == true ) { LinkResult = LinkReplace + "\n" + LinkResult ; } }
if ( GetSettingType [ 0 ] . checked == true ) { 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 ) { var Num ; var NumLength ; var NumLast = GetFirst + ( GetLength - 1 ) * GetDiff ; var NumLastLength = NumLast . toString ( ) . length ; for ( var i = 1 ; i <= GetLength ; i ++ ) { Num = GetFirst + ( i - 1 ) * GetDiff ; NumLength = Num . toString ( ) . length ; AddZero ( ) ; CheckReverse ( ) ; } } else if ( GetZero == false ) { 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 ) { var Num ; var NumLength ; var NumLast = GetFirst * Math . pow ( GetDiff , ( GetLength - 1 ) ) ; var NumLastLength = NumLast . toString ( ) . length ; for ( var i = 1 ; i <= GetLength ; i ++ ) { Num = GetFirst * Math . pow ( GetDiff , ( i - 1 ) ) ; NumLength = Num . toString ( ) . length ; AddZero ( ) ; CheckReverse ( ) ; } } else if ( GetZero == false ) { 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 ) ; var GetLast = GetSettingC [ 2 ] . value . charCodeAt ( 0 ) ; var GetReverse = GetSettingC [ 3 ] . checked ; 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 ) ; 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 = "结果" ; }
2019-12-12 15:00:47 +08:00
function toolGenString ( length , hasNum , hasChar , hasSymbol , caseSense , lowerCase ) { var m = "请选中数字、字母或其他符号的其中一项!" ; if ( hasNum == false && hasChar == false && hasSymbol == false ) { return m ; }
m = "" ; for ( var i = length ; i > 0 ; i -- ) { var num = Math . floor ( ( Math . random ( ) * 94 ) + 33 ) ; if ( ( ( hasNum == false ) && ( ( num >= 48 ) && ( num <= 57 ) ) ) || ( ( hasChar == false ) && ( ( ( num >= 65 ) && ( num <= 90 ) ) || ( ( num >= 97 ) && ( num <= 122 ) ) ) ) || ( ( hasSymbol == false ) && ( ( ( num >= 33 ) && ( num <= 47 ) ) || ( ( num >= 58 ) && ( num <= 64 ) ) || ( ( num >= 91 ) && ( num <= 96 ) ) || ( ( num >= 123 ) && ( num <= 127 ) ) ) ) ) { i ++ ; continue ; }
2019-12-12 00:19:45 +08:00
m += String . fromCharCode ( num ) ; }
2019-12-12 15:00:47 +08:00
if ( caseSense == false ) { m = ( lowerCase == false ) ? m . toUpperCase ( ) : m . toLowerCase ( ) ; }
2019-12-12 00:19:45 +08:00
return m ; }
2019-12-12 15:00:47 +08:00
function toolGenStringSettings ( name ) { var InputSettings = document . querySelectorAll ( "#genstring-settings p input" ) ; var ObjSettings = Settings . Tool . GenString ; switch ( name ) { case "length" : ObjSettings . length = InputSettings [ 0 ] . value ; break ; case "hasNum" : ObjSettings . hasNum = InputSettings [ 1 ] . checked ; break ; case "hasChar" : ObjSettings . hasChar = InputSettings [ 2 ] . checked ; break ; case "hasSymbol" : ObjSettings . hasSymbol = InputSettings [ 3 ] . checked ; break ; case "caseSense" : ObjSettings . caseSense = InputSettings [ 4 ] . checked ; break ; case "lowerCase" : ObjSettings . lowerCase = InputSettings [ 5 ] . checked ; break ; default : break ; } }
function toolGenStringSubmit ( ) { var Result = document . querySelector ( "#genstring-result input" ) ; var ObjSettings = Settings . Tool . GenString ; var Str = toolGenString ( ObjSettings . length , ObjSettings . hasNum , ObjSettings . hasChar , ObjSettings . hasSymbol , ObjSettings . caseSense , ObjSettings . lowerCase ) ; Result . value = Str ; }
2019-12-12 00:19:45 +08:00
function toolNewWindowSubmit ( ) { var link = document . querySelector ( "#tool-newwindow-link input" ) . value ; var width = document . querySelectorAll ( "#tool-newwindow-meta input" ) [ 0 ] . value ; var height = document . querySelectorAll ( "#tool-newwindow-meta input" ) [ 1 ] . value ; if ( width == "" ) { width = 400 ; }
if ( height == "" ) { height = 300 ; }
window . open ( link , "_blank" , "height=" + height + ", width=" + width + ", toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=yes, status=yes" ) ; }
function toolNewWindowClear ( ) { document . querySelector ( "#tool-newwindow-link input" ) . value = "" ; document . querySelectorAll ( "#tool-newwindow-meta input" ) [ 0 ] . value = "" ; document . querySelectorAll ( "#tool-newwindow-meta input" ) [ 1 ] . value = "" ; }
function toolRunJSSubmit ( ) { var GetCode = document . querySelector ( "#tool-runjs-input" ) ; eval ( GetCode . value ) ; }
function toolRunJSClear ( ) { var GetCode = document . querySelector ( "#tool-runjs-input" ) ; GetCode . value = '' ; }
2019-12-12 15:00:47 +08:00
toolSettingsFont ( "get" ) ;