使用javascript进行正则表达式验证 - 法语字母表在IE6中不起作用

时间:2011-12-07 16:21:29

标签: javascript jquery regex encoding special-characters

我们有HTML表单,允许使用法语字母。所以我们添加了验证来检查字母而不是数字。我们使用正则表达式来实现这一点 javascript验证。我已粘贴下面的正则表达式代码以供参考。

我使用以下选项检查包含法语字母的字母

[^A-Za-zA-ÿ\\s]

[^A-ÿ\\s]

它适用于所有现代浏览器。但是在ie6中它不起作用。

在IE6中,我收到以下错误消息: “字符集中的范围无效”

是否有其他解决方案可以解决上述问题。如果您需要任何其他细节,请告诉我。

3 个答案:

答案 0 :(得分:1)

“法语字母”不包括Aÿ的所有字符,但仅包括:

dec  char
128  Ç
129  ü
130  é
131  â
133  à
135  ç
136  ê
137  ë
138  è
140  î
144  É
145  æ
146  Æ
147  ô
150  û
151  ù

这3个不在ascii表中:

œ
Œ
È

答案 1 :(得分:1)

检测浏览器版本并写入正则表达式(对于用户只能输入字符而不是数字),反之如[0-9]为ie6。

if ($.browser.msie && $.browser.version.substr(0,1)<7) {
      regex here
}

答案 2 :(得分:0)

不要以为你想要A到ÿ,因为那个范围内有很多角色,比如“÷”。否则,我希望IE6支持像这样表示Unicode字符:“ÿ”= \ u00FF。

编辑:(等等,你排除[A-ÿ]?我很困惑。)