From 16213c0f85aa3ac8317797bf4a05fd12940e16d3 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期三, 05 三月 2025 17:29:42 +0800 Subject: [PATCH] - --- src/uni_modules/uview-plus/libs/function/test.js | 40 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/uni_modules/uview-plus/libs/function/test.js b/src/uni_modules/uview-plus/libs/function/test.js index f97a30f..35d1879 100644 --- a/src/uni_modules/uview-plus/libs/function/test.js +++ b/src/uni_modules/uview-plus/libs/function/test.js @@ -22,12 +22,44 @@ /** * 楠岃瘉鏃ユ湡鏍煎紡 + * @param {number | string} value yyyy-mm-dd hh:mm:ss 鎴� 鏃堕棿鎴� */ export function date(value) { - if (!value) return false - // 鍒ゆ柇鏄惁鏁板�兼垨鑰呭瓧绗︿覆鏁板��(鎰忓懗鐫�涓烘椂闂存埑)锛岃浆涓烘暟鍊硷紝鍚﹀垯new Date鏃犳硶璇嗗埆瀛楃涓叉椂闂存埑 - if (number(value)) value = +value - return !/Invalid|NaN/.test(new Date(value).toString()) + if (!value) return false; + // number绫诲瀷锛屽垽鏂槸鍚︽槸鏃堕棿鎴� + if (typeof value === "number") { + // len === 10 绉掔骇鏃堕棿鎴� len === 13 姣绾ф椂闂存埑 + if (value.toString().length !== 10 && value.toString().length !== 13) { + return false; + } + return !isNaN(new Date(value).getTime()); + } + if (typeof value === "string") { + // 鏄惁涓簊tring绫诲瀷鏃堕棿鎴� + const numV = Number(value); + if (!isNaN(numV)) { + if ( + numV.toString().length === 10 || + numV.toString().length === 13 + ) { + return !isNaN(new Date(numV).getTime()); + } + } + // 闈炴椂闂存埑锛屼笖闀垮害鍦▂yyy-mm-dd 鑷� yyyy-mm-dd hh:mm:ss 涔嬮棿 + if (value.length < 10 || value.length > 19) { + return false; + } + const dateRegex = + /^\d{4}[-\/]\d{2}[-\/]\d{2}( \d{1,2}:\d{2}(:\d{2})?)?$/; + if (!dateRegex.test(value)) { + return false; + } + // 妫�鏌ユ槸鍚︿负鏈夋晥鏃ユ湡 + const dateValue = new Date(value); + return !isNaN(dateValue.getTime()); + } + // 闈瀗umber鍜宻tring绫诲瀷锛屼笉鍋氭牎楠� + return false; } /** -- Gitblit v1.9.1