user 6 роки тому
батько
коміт
d7dd34b3d8

+ 1 - 0
lib/contact-address.d.ts

@@ -1,6 +1,7 @@
 export declare class ContactAddress {
     static fromPrefixedString(prefixed: string): ContactAddress;
     static parsePhoneNumber(search: string): string | undefined;
+    static isValidPhoneNumber(search: string): boolean;
     static parseEmail(search: string): string | undefined;
     static formatPhoneNumber(phoneNumber: string): string;
     type: string;

+ 11 - 0
lib/contact-address.js

@@ -24,6 +24,17 @@ class ContactAddress {
         }
         return '+' + digits;
     }
+    static isValidPhoneNumber(search) {
+        const remains = search.replace(/[0-9 +()-]/g, '');
+        if (remains !== '') {
+            return false;
+        }
+        const digits = search.replace(/[^0-9]/g, '');
+        if (digits.length > 16 || digits.length < 3) {
+            return false;
+        }
+        return true;
+    }
     static parseEmail(search) {
         const ats = search.replace(/[^@]/g, '');
         if (ats.length === 1) {

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
lib/contact-address.js.map


+ 13 - 0
src/contact-address.ts

@@ -26,6 +26,19 @@ export class ContactAddress {
     return '+' + digits;
   }
 
+  public static isValidPhoneNumber(search: string) {
+    const remains = search.replace(/[0-9 +()-]/g, '');
+    if (remains !== '') {
+      return false;
+    }
+
+    const digits = search.replace(/[^0-9]/g, '');
+    if (digits.length > 16 || digits.length < 3) {
+      return false;
+    }
+    return true;
+  }
+
   public static parseEmail(search: string) {
     const ats = search.replace(/[^@]/g, '');
     if (ats.length === 1) {