【问题标题】:JavaScript utf8 encoding or regex pattern with Unicode letters support?支持 Unicode 字母的 JavaScript utf8 编码或正则表达式模式?
【发布时间】:2013-10-17 17:37:37
【问题描述】:

最近有人要求我在网络应用程序中的某些输入上调整应用程序的输入,以支持 Unicode 字母。

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

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

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

【问题讨论】:

  • FTR、A 和 Z 也是 Unicode 字母。
  • 是的...我知道。但是你知道我指的是像拉丁特殊字符这样的字符

标签: javascript regex unicode utf-8


【解决方案1】:

根据定义,Javascript 完全采用 unicode(非 unicode 编码的网站除外,但该解决方案可能仍然有效),因此只需在 regexp 中添加您需要的字母。如果您需要通过 charcode 添加它们,请使用 \x0000

【讨论】:

  • 我最终修改了我的正则表达式。资源消耗是否更便宜。
【解决方案2】:

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

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

  1. 为每个输入加载视图并设置模式属性
  2. 编写js分析具体输入,看是否包含解码后的Unicode字符
  3. 如果是这样,请在输入时/提交之前对这些字符进行编码,因为我有一个不允许此类字符的正则表达式模式

基本上,我节省了编写无用代码的时间,最重要的是节省了大量浏览器处理(对于需要的东西来说,这将是太多了)。

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

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多