2016-10-17 3 views
1
var temp = "This is a string."; 
var findtext="is"; 
var count = (temp.match("/"+findtext+"/g") || []).length; 
console.log(count); 

텍스트 영역에서 사용자 문자열을 가져 오는 자바 스크립트 함수를 만들었습니다. 입력 된 텍스트에서 찾을 단어에 대해 다른 둘레를 사용합니다. 그것은 내가 문자열에서 발견되는 단어에 대한 발생 횟수를 얻을 수 없기 때문에 저에게 오류를 제공합니다.문자열에서 단어 찾기.

+0

당신은 필요하지 않습니다 일치하지 않도록 전체 단어 일치하도록 RegExp constructor 및 단어 경계를 사용하고자하려는' /.../ g'. 그냥'(temp.match (findtext) || []). 길이' – RobertAKARobin

답변

0

당신은이 isThis에 등

var temp  = "This is a string."; 
 
var findtext = "is"; 
 
var regex = new RegExp('\\b'+ findtext+'\\b', 'g'); 
 
var count = (temp.match(regex) || []).length; 
 

 
console.log(count);

+0

잘 heres 내 코드 당신의 응답을 연결했지만 자바 스크립트는 응답을 보여줍니다. – Kam

+0

function determine() { var keytext = document.getElementById ('fn'). 값; var Ctext = document.getElementById ('ta'). 값; 경고 (Ctext + "::::"+ keytext); var regex = new RegExp ('\\ b'+ keytext + '\\ b', 'g'); var count = (Ctext.match (regex) || []). length; 경고 ("귀하의 개수 :"개수); } – Kam

+0

저에게 맞습니다 -> https://jsfiddle.net/adeneo/frz9v6fc/ – adeneo