2012-02-09 5 views
0

나는 스페인어로 말하므로 악센트 부호 (á, é ..)를 많이 사용하고 있습니다. 필자가 글을 써야 할 때마다 áé을 사용한다.악센트 부호 (쓰여진 악센트)를 관리하는 방법

이제는 두 개의 문장이 다른 경우 비교하고 싶기 때문에 문제가 있습니다.하지만 제 기능을 계속 수행하기 위해서는 작동하지 않습니다.

다음은 내가하려는 일에 대한 설명입니다.

사용자가 입력 할 내용을 설명하는 입력 값이 있습니다. 사용자가 입력을 클릭하면 주어진 값이 사라 지므로 사용자가 새 값을 씁니다. 이제, 나는 새로운 가치를 취하고 그것에 관련이없는 것들을하는 함수를 가지고있다. 그 값이 처음에 주어진 값과 다른 경우에만 함수가 그렇게하기를 원합니다. 사용자가 무언가를 썼을 때만 함수가 작동하는지 확인하십시오. 내 문제는 주어진 값에 악센트 부호가 있기 때문에 비교할 때 항상 나머지 기능을 수행한다는 것입니다.

다음은 분명히하기위한 코드입니다.

<input type="text" id="proyecto" value="&Aacute;rea donde oper&oacute; el proyecto" /> 

<script type="text/javascript"> 
function proyecto(){ 
    var proyecto = document.getElementById("proyecto").value; 
    var aux1 = "&Aacute;rea donde oper&oacute; el proyecto"; 
    var aux2 = "Áreas donde operó el proyecto"; 

    if (proyecto != aux1) 
     alert("DO THE REST OF THE FUNCTION"); 
    if (proyecto != aux2) 
     alert("DO THE REST OF THE FUNCTION"); 
} 
</script> 

사용자가 입력을 클릭하면 입력을 지우고 비워 두는 기능을 사용합니다. 사용자가 아무 것도 쓰지 않으면 값이 다시 나타납니다.

내가 분명히했으면 좋겠다.

감사합니다.

+2

. 처음부터 끝까지 텍스트에 충실하십시오. – Quentin

+1

그리고 텍스트를 지우려면, 현재의'.value'와'.defaultValue'를 비교하여 페이지가로드되었을 때 입력 내용이 맞는지 확인하십시오. – MetalFrog

+0

감사합니다 @MetalFrog 정확히 내가 필요한 것입니다 .defaultValue – mauguerra

답변

1

정규 표현식을 사용할 수 있습니다. 이처럼 :

<script type="text/javascript"> 
function proyecto(){ 
    var proyecto = document.getElementById("proyecto").value; 
    var aux = /[AÁ]reas donde oper[oó] el proyecto/i; 
    if (!aux.test(proyecto)) 
     alert("DO THE REST OF THE FUNCTION"); 
} 
</script> 

참조 : 당신은 텍스트와 제정신 결과를 기대하는 HTML을 비교하지 말아야 http://www.w3schools.com/jsref/jsref_obj_regexp.asp

+0

정규식은 여기에서 완전히 불필요합니다. 할 일은'proyecto'와''Áreas donde operó el proyecto'' 사이의 불평등 검사뿐입니다. – daniel

관련 문제