[javascript] 문자열이 JS의 정규식과 일치하는지 확인하십시오.

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

^([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));


답변

당신은 이것을 시도 할 수 있습니다, 그것은 나를 위해 작동합니다.

 <input type="text"  onchange="CheckValidAmount(this.value)" name="amount" required>

 <script type="text/javascript">
    function CheckValidAmount(amount) {
       var a = /^(?:\d{1,3}(?:,\d{3})*|\d+)(?:\.\d+)?$/;
       if(amount.match(a)){
           alert("matches");
       }else{
        alert("does not match");
       }
    }
</script>