소스 검색

fix: 修复isUrl判断错误bug #526

clddup 8 달 전
부모
커밋
3cd89bdd09
1개의 변경된 파일6개의 추가작업 그리고 3개의 파일을 삭제
  1. 6 3
      src/utils/is.ts

+ 6 - 3
src/utils/is.ts

@@ -95,9 +95,12 @@ export const isServer = typeof window === 'undefined'
 export const isClient = !isServer
 
 export const isUrl = (path: string): boolean => {
-  const reg =
-    /(((^https?:(?:\/\/)?)(?:[-:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&%@.\w_]*)#?(?:[\w]*))?)$/
-  return reg.test(path)
+  try {
+    new URL(path)
+    return true
+  } catch (_error) {
+    return false
+  }
 }
 
 export const isDark = (): boolean => {