gpt4 book ai didi

javascript - IsBasicLatin 和 IsLatin-1Supplement 作为 JavaScript 正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 05:12:11 25 4
gpt4 key购买 nike

我有两步有效性检查,第一个是纯 JavaScript,第二个不是我维护的(我什至不知道是什么语言)是:

<xs:pattern value="[\p{IsBasicLatin}\p{IsLatin-1Supplement}]{1,1000}" />

为了更好的用户体验,我需要绝对确保第一步验证正确,以便第二步永远不会抛出任何其他错误。

我对字母、数字等进行了“标准”正则表达式检查,但仍然存在一些差异,第二个有时仍然发现一些无效内容。

这是我的实际代码:

var re = /^[\wáéíóäëiöúàèììù.,;:<>_ °!?#^$€£%\(\)\[\]\=\"\'|\\\/\-\+\*\&@]+$/gm;
return re.test(value);

有没有办法在 JavaScript 正则表达式中使用 IsBasicLatin(及其补充)?或者我如何编写与那些完全相同的正则表达式测试?

最佳答案

您的第二步是 XML Schema pattern支持 Unicode 类别类。模式 \p{IsBasicLatin} 代表 [\x00-\x7F]\p{IsLatin-1Supplement} 代表 [\x80-\xFF](参见 Unicode reference)。

此外,XSD 模式旨在匹配整个输入(它们是 "anchored by default" ),因此在 JS 中,您必须使用 ^$ 将模式括起来.

因此,您可以将 xs:pattern 正则表达式转换为 JS 为

^[\x00-\xFF]{1,1000}$

或者

^[\u0000-\u00FF]{1,1000}$

请注意,在 xs:pattern 正则表达式中使用限制量词以允许 1 到 1000 个字符。您的第一个正则表达式允许无限次出现 + 量词。

关于javascript - IsBasicLatin 和 IsLatin-1Supplement 作为 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30525352/

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