我必须过滤掉表格中的字符。因此,我实现了一个过滤算法,该算法运行良好,并根据不同的上下文使用不同的过滤器(变量);我也必须延长重音字母的使用。有没有办法在字符串中使用非八进制文字?
实施例:
gFilterALPHA1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'-–àâäéèêëîïôöùüûÀÂÄÉÈÊËÎIÔÖÙÛÜæÆœŒçÇ ";
奇怪的是,字母é
(E急性)或è
(E坟墓)被考虑在内(视为这样),而其他如à
(严重)则不是。我发现解决方案使用的是八进制字体,例如\340
或\371
分别用于坟墓或坟墓。
Q1。任何关于为什么é
(e锐)成功解析直接而其他重音字母不是? Q2302。由于编写长字符串的八进制文字既繁琐又容易出错,因此当需要检查或添加值时,是否有人有更好的主意或知道解决方法?
谢谢。
好的,这里是代码thg435认为它有用的看看。
function jFiltre_Champ(event, NomDuFiltre)
{
var LeChamp=event.target.value; // value est de type ARRAY
switch (NomDuFiltre)
{
case "NUM1":
LeFiltre=gFiltreNUM1;
Msg=gMessageNUM1;
break;
case "ALPHA1":
LeFiltre=gFiltreALPHA1;
Msg=gMessageALPHA1;
break;
case "DATE1":
LeFiltre=gFiltreDATE1;
Msg=gMessageDATE1;
break;
case "ALPHANUM1":
LeFiltre=gFiltreALPHANUM1;
Msg=gMessageALPHANUM1;
break;
case "ALPHANUM2":
LeFiltre=gFiltreALPHANUM2;
Msg=gMessageALPHANUM2;
break;
}
Longueur=LeFiltre.length;
for (i=0; i<LeChamp.length; i++)
{
leCar = LeChamp.charAt(i);
for (j = 0; j < Longueur; j++)
{
if (leCar==LeFiltre.charAt(j)) break;
}
if (j==Longueur)
{
alert(Msg);
/*Cf doc. pour l'algorithme de la méthode slice*/
document.getElementById(event.target.id).value=event.target.value.slice("0", i);
break;
}
}
}
这里是一个英式风格的版本:(关于(2))
function jform_input_filter(event, filterName)
{
var current_input = event.target.value; // the value is an array
switch (filterName)
{
case "NUM1":
current_filter = gFilterNUM1;
Msg = gMessageNUM1;
break;
case "ALPHA1":
current_filter = gFilterALPHA1;
Msg = gMessageALPHA1;
break;
case "DATE1":
current_filter = gFilterDATE1;
Msg = gMessageDATE1;
break;
case "ALPHANUM1":
current_filter = gFilterALPHANUM1;
Msg = gMessageALPHANUM1;
break;
case "ALPHANUM2":
current_filter = gFilterALPHANUM2;
Msg = gMessageALPHANUM2;
break;
}
length = current_filter.length;
for (i = 0; i < current_input.length; i++)
{
leCar = current_input.charAt(i);
for (j = 0; j < length; j++)
{
if (leCar==current_filter.charAt(j)) break;
}
if (j == length)
{
alert(Msg);
/*Cf doc. pour l'algorithme de la méthode slice*/
document.getElementById(event.target.id).value=event.target.value.slice("0", i);
break;
}
}
评论:
- 我个人不应该认为这个代码很有用回答原始问题;
- 变量和注释使用法语,这可能会导致难以阅读某些内容 - 对此感到抱歉;
- 此函数与HTML表单中的'onchange'事件相关联;
- 'g'个变量(例如gFiltreALPHANUM2)是在同一个.js文件的其他位置定义的宽范围向量,以便它们可以被函数访问。
http://stackoverflow.com/questions/280712/javascript-unicode – mplungjan
http://stackoverflow.com/questions/3939266/javascript-function-to-remove-diacritics – mplungjan
你能告诉我们你的代码吗?另外,接受你的问题的一些答案。 – georg