支持Unicode字母的JavaScript utf8编码或正则表达式模式?

时间:2013-10-17 17:37:37

标签: javascript regex unicode utf-8

我最近被要求调整应用程序的输入,以支持在Web应用程序中的某些输入上使用Unicode字母。

该应用已经使用pattern html属性对正则表达式进行了一些验证。像这样:

<input required="true" pattern="[a-zA-Z0-9_\-]+" type="text" name="name">

现在,由于我必须根据新要求调整一些输入,我想知道最好做什么?

2 个答案:

答案 0 :(得分:0)

根据定义,Javascript完全是unicode(除了具有非unicode编码的网站,但解决方案可能仍然有效),所以只需添加regexp所需的字母。如果您需要使用charcode添加它们\x0000

答案 1 :(得分:0)

我决定去编辑正则表达式选项,因为当我的view开始处理时,有一个模块会在特定输入上设置带有定义的正则表达式的pattern属性。

因此,最好编辑正则表达式模式,然后在加载视图时设置输入,然后执行:

  1. 加载视图并为每个输入设置模式属性
  2. 编写js以分析特定输入,以查看它们是否包含已解码的Unicode字符
  3. 如果是这样,请在输入前/提交前对这些字符进行编码,因为我有一个不允许此类字符的正则表达式模式
  4. 基本上,我节省了编写无用代码的时间,最重要的是,大量的浏览器处理(对于需要的东西,它将会很多)。

    我应该从一开始就选择这个选项(呃!)