> 웹 프론트엔드 > JS 튜토리얼 > javascript 정규식_javascript 기술의 교체 방법에 대한 자세한 설명

javascript 정규식_javascript 기술의 교체 방법에 대한 자세한 설명

WBOY
풀어 주다: 2016-05-16 16:03:14
원래의
1234명이 탐색했습니다.

이전 글에서는 정규화의 4가지 기본 방법을 소개했고, 당시 교체 방법에 대해서도 언급했습니다

replace 메서드의 사용을 검토해 보겠습니다.
먼저 일반 객체를 정의합니다. var re=/가운데에 일치 조건을 작성합니다/;
교체(): 문자열을 정기적으로 일치시킵니다. 일치에 성공하면 성공적으로 일치된 문자열을 새 문자열로 바꿉니다.
구문: string.replace(re, new string)

예: 인터넷에서 미개한 단어가 *로 대체되는 경우가 종종 있습니다. 시도해 보겠습니다.

<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,'*');
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
로그인 후 복사

물론, 우리는 위의 변환 효과에 만족하지 않습니다. 제가 달성하고 싶은 것은 몇 단어를 변환한 후 여러 개의 * 기호를 표시하는 것입니다

이때 실제로 분석이 필요합니다. 교체(매개변수 1, 매개변수 2)의 매개변수 2는 콜백 함수일 수 있으며, 두 번째 매개변수를 콜백 함수로 대체하고 이 콜백 함수를 제공하겠습니다. 매개변수 전달

<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,function(obj){
        alert(obj);
        /*alert(obj.length);*/
    });
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
로그인 후 복사

위 결과를 보면 매우 이상한 것을 알 수 있습니다. 두 번째 매개변수는 콜백 함수인데, 콜백 함수의 매개변수를 표시해 보면 모두 성공적으로 일치하는 문자열입니다

그런 다음 이 매개변수의 각 결과를 처리할 수 있으며 몇 단어로 인해 여러 개의 * 기호가 생성됩니다

<!DOCTYPE>
<html>
<head>
  <meta charset='utf-8'> 
  <title></title>
</head>
<script type="text/javascript">
window.onload=function(){
  var oTxtarea=document.getElementsByTagName('textarea');
  var oInpt=document.getElementById('bt');
  var re=/你妹|fuck|你大爷|萌萌/g;
  oTxtarea[0].value='我要看你妹,不行,你大爷,我要萌萌你妹,不行,你想想的太多了';
  oInpt.onclick=function(){  
    oTxtarea[1].value=oTxtarea[0].value.replace(re,function(obj){
        var a='';
        for (var i = 0; i < obj.length; i++) {
          a+='*';
        }
        return a;
    });
  };  
};
</script>
<body>
  <textarea rows='7' cols='20'>
  </textarea><br />
  <input id='bt' type='button' value='转化不文明的语言'><br />
  <textarea rows='7' cols='20'>
  </textarea><br />
</body>
</html>
로그인 후 복사

위의 예를 통해 교체 방법에 대한 이해가 깊어졌나요? . . . .

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿