gpt4 book ai didi

javascript - 日本数字正则表达式

转载 作者:行者123 更新时间:2023-12-02 06:29:00 24 4
gpt4 key购买 nike

** 问题:** 我如何只允许日文(平假名/片假名)中的数字

用例:我想获取“数字”字段(我的输入应该只接受英语和日语的数字)

我编写了以下示例片段:

// The goal of this demo is to demonstrate the RegEx patterns for English and Japanese Chracters

var english = "09c12";
var japanese = "0123あb";


console.log("-----English Test---")
console.log(english.replace(/[^0-9\/]/gi, ''));
console.log("--------------------")


console.log("-----japanese Test---")
console.log(japanese.replace(/[^0-9\/]/gi, ''));
console.log("--------------------")

问题:这对日语不起作用。请赐教。

我假设日语字符具有不同的 ASCII/Unicode 值?

请帮我修改代码。我只想确保用户输入数字。

谢谢

最佳答案

您的日语数字不是简单的 ASCII 数字,它们是 unicode 全 Angular 字符,(参见 http://www.fileformat.info/info/unicode/char/ff10/index.htm)

javascript 中的正则表达式语法没有 unicode 类,因此您必须通过手动指定 unicode 范围来选择它们。

console.log("0123あb".replace(/[\uff10-\uff19]/g, "_"));
console.log("0123あb".replace(/[^\uff10-\uff19]/g, "_"));
console.log(String.fromCharCode(...[...Array(10)].map((x, i) => 0xff10 + i))
);

关于javascript - 日本数字正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46290595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com