문자열이 JavaScript에서 유효한 UUID인지 확인하는 방법은 무엇입니까?

7974 단어 javascript
Originally posted here!

문자열이 유효한 UUID(또는 범용 고유 식별자)인지 확인하기 위해 특수 정규 표현식을 사용하여 JavaScript에서 확인할 수 있습니다.

TL;DR




// Regular expression to check if string is a valid UUID
const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;

// String with valid UUID separated by dash
const str = "a24a6ea4-ce75-4665-a070-57453082c256";

regexExp.test(str); // true


유효한 UUID에는 대시(5)로 구분된 섹션이 -개 있어야 하며 첫 번째 섹션에는 8자, 두 번째, 세 번째, 네 번째 섹션에는 각각 4자가 있어야 합니다. 마지막 섹션에는 총 12 문자와 함께 32 문자가 있어야 합니다.

5개 섹션 모두에는 숫자0 to 9 , 작은 알파벳a to f 또는 대문자A to F 범위의 문자가 있어야 합니다.

예를 들어 유효한 UUID는 다음과 같습니다.

  a24a6ea4-ce75-4665-a070-57453082c256
#    8      4    4    4        12   characters = 32 total characters


따라서 문자열이 유효한 UUID인지 확인하기 위해 이 정규식을 사용할 수 있습니다.

// Regular expression to check if string is a valid UUID
const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;


위의 테스트 사례를 확인하므로 모든 유효한 UUID와 일치합니다.

이제 다음과 같이 유효한 UUID로 문자열을 작성해 보겠습니다.

// Regular expression to check if string is a valid UUID
const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;

// String with valid UUID separated by dash
const str = "a24a6ea4-ce75-4665-a070-57453082c256";


이제 문자열을 테스트하기 위해 정의한 정규식에서 사용할 수 있는 test() 메서드를 사용할 수 있습니다. 이런식으로 할 수 있는데,

// Regular expression to check if string is a valid UUID
const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;

// String with valid UUID separated by dash
const str = "a24a6ea4-ce75-4665-a070-57453082c256";

regexExp.test(str); // true


  • test() 메서드는 string 유형을 인수로 받아 일치 여부를 테스트합니다.
  • 정규식을 사용하여 일치하는 항목이 있으면 메서드가 부울true을 반환하고 그렇지 않은 경우 false를 반환합니다.

  • JSBin 에 있는 위의 예를 참조하세요.

    이것을 재사용할 수 있는 유틸리티 기능으로 원하신다면 여기 있습니다.

    /* Check if string is valid UUID */
    function checkIfValidUUID(str) {
      // Regular expression to check if string is a valid UUID
      const regexExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi;
    
      return regexExp.test(str);
    }
    
    // Use the function
    checkIfValidUUID("a24a6ea4-ce75-4665-a070-57453082c256"); // true
    checkIfValidUUID("a24a6ea4-ce75-4665-a070"); // false
    


    그게 다야! 😃

    😃 유용하셨다면 공유해 주세요.

    좋은 웹페이지 즐겨찾기