정규식에 특정 문자가 포함되어 있는지 확인 [javascript]
하고 싶은 일
- 조건 (정규 표현)에 맞는 문 일치하는 문자열을 검색하고 문자열이 조건과 일치하는지 확인 .test()
- 조건 (정규 표현)에 맞는 문 일치하는 문자열을 검색하고 문자열을 대체 .replace()
정규식
기초는 사이트에서 공부할 필요가 있기 때문에,
기본적으로는 문자열의 패턴을 「/」로 둘러싸는 것 같은 쓰는 방법을 합니다.
/(文字列のパターン)/
자신은 정규 표현 체커 사이트등에서 실제의 데이터와 비교하면서 정규 표현을 작성하고 있습니다.
htps : // 루부 r. 코m/
심플 & 아래에 치트 시트가 있기 때문에 체크하면서 정규 표현을 작성할 수 있습니다.
정규 표현 플래그(수식자)
정규 표현 플래그에 대한 이해가 애매했기 때문에 플래그에 대해서도 정리해 둡니다. 정규식에는 전역 검색과 대소문자를 구분하지 않는 검색을 가능하게 하는 4가지 옵션 플래그가 있습니다.
플래그를 정규식에 포함하려면 다음을 수행합니다.
const re = /pattern/flags;
한정자
내용
g
반복 일치(global)
i
대문자와 소문자를 구분하지 않음 (case-insensitive)
m
문자열을 여러 줄로 처리 (multi-line)
문자열이 조건과 일치하는지 확인하기 정규식 + .test()
예) 입력 된 문자의 끝에 '.jpg'가 포함되어 있습니까?
(2019/9/16 코멘트 반영으로 수정)
// テスト用正規表現
const regExp = /.*\.jpg$/
// 入力された値の最後に「'.jpg'」が含まれているかをtestする
const answer = regExp.test(data);
전체 텍스트 표시하면 아래와 같은 이미지
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"></head>
<body>
<input type="text" class="js-data" value="test.jpg">
</body>
<script>
// inputに入力された値の取得
const data = document.querySelector('.js-data').value;
// テスト用正規表現
const regExp = /.*\.jpg$/
// 入力された値の最後に「'.jpg'」が含まれているかをtestする
const answer = regExp.test(data);
// コンソール出力 => true
console.log(answer);
</script>
</html>
예) 입력된 문자가 「숫자/숫자/숫자」의 형태를 취하고 있는가
*「\d」는 0~9의 숫자의 뜻과 동등
// テスト用正規表現
const regExp = /\d*\/\d*\/d*/g
// 入力された値の最後に「'.jpg'」が含まれているかをtestする
const answer = regExp.test(data);
전체 텍스트 표시하면 아래와 같은 이미지
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"></head>
<body>
<input type="text" class="js-data" value="2019/09/15">
</body>
<script>
// inputに入力された値の取得
const data = document.querySelector('.js-data').value;
// テスト用正規表現
const regExp = /\d*\/\d*\/d*/g
// 入力された値の最後に「'.jpg'」が含まれているかをtestする
const answer = regExp.test(data);
// コンソール出力 => true
console.log(answer);
</script>
</html>
정규식에 맞는 문자열 바꾸기 정규식 + .replace()
예) 슬래시 (/)로 구분 된 날짜 데이터의 슬래시 제거 (= 빈 문자 ''로 바꾸기)
2019/09/15 → 20190915
이것은 정규 표현으로 슬래시(/)의 조건에 매치하는 부분을 찾아내 .replace로 옮겨놓는 것으로 실현할 수 있습니다. 「/」는 정규 표현의 예약어가 되고 있기 때문에, 문자로서 취급하기 전에 「」를 붙여 할 필요가 있다.
// 入力された値に「/」が含まれていたら空文字「''」と置き換える
const trimmedDate = date.replace(/\//g, '');
전체 텍스트 표시하면 아래와 같은 이미지
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"></head>
<body>
<input type="text" class="js-date" value="2019/08/15">
</body>
<script>
// inputに入力された値の取得
const date = document.querySelector('.js-date').value;
// コンソール出力 => "2019/08/15"
// console.log(date);
// 入力された値に「/」が含まれていたら空文字「''」と置き換える
const trimmedDate = date.replace(/\//g, '');
// コンソール出力 => "20190815"
console.log(trimmedDate);
</script>
</html>
Reference
이 문제에 관하여(정규식에 특정 문자가 포함되어 있는지 확인 [javascript]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mf37459/items/89f63750c9930d440969텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)