【问题标题】:swedish characters check with javascript?瑞典语字符用 javascript 检查?
【发布时间】:2009-11-03 19:05:33
【问题描述】:

如何重写此代码以检查所有字符,包括瑞典语 å、ä 和 ö 字符?

      alphaExp = /^[a-zA-Z]+$/;

以上只检查英文字母!

瑞典语在 Z 之后包含 å, ä, ö... 其余都与英语相同。

谢谢

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你试过/^[a-zA-ZäöåÄÖÅ]+$/吗?

    在我的 Firefox 中,/^[a-zA-ZäöåÄÖÅ]+$/.test("öÅ"); 的计算结果为 true。

    【讨论】:

    • 变音符号和外来字符,如 é 和 ü 呢?允许的完整字符集是什么?
    • @DavidJonsson 这将取决于您要验证的内容。海报询问是否将“äöå”添加到“a-z”。如果你想允许任意文本,你显然需要允许更多。
    • 不,发帖人不仅询问了 åäö,还询问了所有瑞典语字符,包括变音符号和外国字符。
    【解决方案2】:

    差不多straight from the horse's mouth:

    支持 JavaScript 的 RegExp 中的国际化几乎不存在。

    查看链接后面的帖子了解如何解决这个问题(通过定义您自己的角色类)。

    【讨论】:

    • 现在已经不是这样了。见regular-expressions.info/unicode.html。但是没有 \p{Swedish} 存在。我建议我们定义 \p{Swedish} 包括变音符号和外来字符。这可以用于 Latin-1 /^[a-zA-Z\u0080-\u00FF]+$/ 。
    【解决方案3】:

    您在此处标记了 PHP 和 JavaScript。有关 JavaScript 的答案,请参阅 Matt Ball 的上一个答案。

    有关 PHP 的答案,请参阅\p 和朋友。以\p{L} 为例。

    php -r '$foo = "täst"; if ( preg_match("/^\\p{L}+$/",$foo) ) echo "yay\n";'
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-18
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2016-05-08
    • 2011-11-11
    • 2012-04-20
    相关资源
    最近更新 更多