gpt4 book ai didi

javascript - 带有字母的日语字符的正则表达式

转载 作者:行者123 更新时间:2023-11-30 00:00:30 27 4
gpt4 key购买 nike

我想添加一个验证规则来验证文本,它应该是以下任何一个规则

  • 日语字符(任何日语字母)=> 北海道

  • 字母表 (A-Z) => Kantname

  • 带字母的日语字符 => 北海道AB

我写了下面的正则表达式,但它没有按预期工作

/^[a-zA-Z]+$|[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g;

如果我尝试下面的返回 TRUE

console.log(pattern.test('北海道 <script>'));

最佳答案

您以错误的方式使用 anchor :您需要将所有字符类合并为一个类并将 anchor 应用于该父类(super class):

/^[a-zA-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF\u2605-\u2606\u2190-\u2195\u203B]+$/

参见 regex demo

var re = /^[a-zA-Z\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF\u2605-\u2606\u2190-\u2195\u203B]+$/;
var strs = ['北海道AB', 'Kantname', '北海道', '北海道 <script>'];

for (var s of strs) {
if (re.test(s)) {
console.log(s, " matches the regex");
} else {
console.log(s, " does NOT match the regex");
}
}

关于javascript - 带有字母的日语字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718004/

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