programing tip

문자열이 JS의 정규식과 일치하는지 확인

itbloger 2020. 10. 2. 21:46
반응형

문자열이 JS의 정규식과 일치하는지 확인


JavaScript (jQuery와 함께 사용할 수 있음)를 사용하여 문자열이 정규식과 일치하는지 확인하기 위해 클라이언트 측 유효성 검사를 수행하고 싶습니다.

^([a-z0-9]{5,})$

이상적으로는 true 또는 false를 반환하는 표현식입니다.

저는 JavaScript 초보자입니다. match()필요한 작업을 수행합니까? 문자열의 일부가 전체가 아닌 정규식과 일치하는지 확인하는 것 같습니다.


regex.test()원하는 것이 부울 결과이면 사용하십시오 .

console.log(/^([a-z0-9]{5,})$/.test('abc1')); // false

console.log(/^([a-z0-9]{5,})$/.test('abc12')); // true

console.log(/^([a-z0-9]{5,})$/.test('abc123')); // true

... ()캡처가 필요하지 않으므로 정규 표현식에서를 제거 할 수 있습니다.


사용 test()방법 :

var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
    console.log("Valid");
} else {
    console.log("Invalid");
}

다음을 사용할 수도 있습니다 match().

if (str.match(/^([a-z0-9]{5,})$/)) {
    alert("match!");
}

그러나 여기에서test() 읽을 수있는 것처럼 더 빠른 것 같습니다 .

사이의 중요한 차이점 match()test():

match()문자열에서만 작동하지만 test()정수에서도 작동합니다.

12345.match(/^([a-z0-9]{5,})$/); // ERROR
/^([a-z0-9]{5,})$/.test(12345);  // true
/^([a-z0-9]{5,})$/.test(null);   // false

// Better watch out for undefined values
/^([a-z0-9]{5,})$/.test(undefined); // true

/youregexp/.test(yourString)문자열이 정규 표현식과 일치하는지 여부 만 알고 싶은 경우에만 사용 합니다.


다음은 특정 HTML 태그를 찾는 예이므로 /someregex/.test()부울 반환하는 것이 명확합니다 .

if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');

 let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 let regexp = /[a-d]/gi;
 console.log(str.match(regexp));

이 꽃을 시도하십시오 :

/^[a-z0-9\_\.\-]{2,20}\@[a-z0-9\_\-]{2,20}\.[a-z]{2,9}$/.test('abc@abc.abc');

진실


시험

 /^[a-z\d]{5,}$/.test(str)

console.log( /^[a-z\d]{5,}$/.test("abc123") );

console.log( /^[a-z\d]{5,}$/.test("ab12") );


일치하는 항목이 없으면 null을 반환하는 execute 메서드를 사용하는 것이 좋습니다. 그렇지 않으면 유용한 개체를 반환합니다.

let case1 = /^([a-z0-9]{5,})$/.exec("abc1");
console.log(case1); //null

let case2 = /^([a-z0-9]{5,})$/.exec("pass3434");
console.log(case2); // ['pass3434', 'pass3434', index:0, input:'pass3434', groups: undefined]

참고 URL : https://stackoverflow.com/questions/6603015/check-whether-a-string-matches-a-regex-in-js

반응형