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>