如何管理口音标记(书面重音)

时间:2012-02-09 16:51:56

标签: javascript html diacritics

我说西班牙语,所以我使用了很多重音标记(á,é..)。每当我需要编写它们时,我都会使用á é等等。

现在我有一个问题,因为我想比较两个句子是否不同,以便继续我的功能,但它不起作用。

这是对我要做的事情的解释。

有一个输入具有给定值,向用户解释他需要在该输入中写入什么。当用户单击输入时,给定值将消失,因此用户将写入新值。现在,我有一个函数,它接受新值并用它做一些事情(不相关)。我希望函数这样做,只有当值与最初给出的值不同时,确保该函数仅在用户编写内容时才起作用。我的问题是给定的值有一个重音标记所以当我进行比较时,它总是执行其余的功能。

这是一些让我自己清楚的代码。

<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>

我使用一个函数,然后用户点击输入,它清除输入,将其留空。如果用户没有写任何内容,则会再次显示值。

我希望自己清楚明白。

非常感谢!

1 个答案:

答案 0 :(得分: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>

请参阅:http://www.w3schools.com/jsref/jsref_obj_regexp.asp