2017-11-09 1 views
1

입력 한 텍스트의 유효성을 검사하려고합니다. 교체 할 함수를 사용하기 위해 체인에서 모든 공백을 제거하는 것으로 구성됩니다. 나는 모든 공백을 제거함으로써 문자열이 공백으로 남았 으면 좋겠다. 즉 공백이 제거되었지만 같은 길이로 남아 있다면 그것은 발생하지 않는다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?실행 후 길이가 잘못되었습니다.

document.getElementById("Validator").onclick = function() { 
var expression = document.getElementById("expressions").value; 
var aux=expression.replace(" ",""); 
if(aux.length==0){ 
alert("the expression contains only blank spaces"); 
} 
}; 
+0

체크 아웃이 : https://stackoverflow.com/questions/6623231/remove-all-white-spaces-from-text은 –

+1

귀하의 코드는 첫번째 ** 제거 ** 공간. – Pointy

+0

나는 그가 발견 한 첫 번째 공간을 바꾼다면 바보입니다. 미안 해요 내 말도 안되는 질문에 대한 자바 응용 프로그램을 자바 스크립트로 마이 그 레이션 해요 그리고 나는 자바에서 replaceAll() 사용 기억하지 않았다. 고마워요. –

답변

1

당신은 그것을 찾기위한 .replace() 기능 (" ")에 리터럴 문자열을 전달하고 있습니다. 실제로는 모두를으로 바꿀 수는 없으며 검색된 문자열의 첫 번째 공백 만 바꿉니다. 전체 문자열을 검색하려면 정규 표현식을 사용하십시오. MDN에서

:

글로벌 검색을 수행하고 교체하려면는 정규 표현식에 g 스위치를 포함한다.

document.getElementById("Validator").onclick = function() { 
 
    var expression = document.getElementById("expressions").value; 
 
    
 
    // Find one or more spaces throughout the string: 
 
    var aux = expression.replace(/\s+/g,""); 
 
    
 
    if(aux.length === 0){ 
 
    alert("the expression either contains only blank spaces or nothing was typed at all."); 
 
    } 
 
};
<input id="expressions"> 
 
<button id="Validator">Validate</button>

+0

그가 발견 한 첫 번째 공간 만 바꾼다면 나는 바보입니다. 미안 해요 내 말도 안되는 질문에 대한 자바 응용 프로그램을 자바 스크립트로 마이 그 레이션 해요 그리고 나는 자바에서 replaceAll() 사용 기억하지 않았다. 고맙습니다. –

+0

@trokbrk 문제는 없습니다. 대답으로 투표하고 표를하는 것을 잊지 마십시오. –

관련 문제