gpt4 book ai didi

javascript - 西里尔字母正则表达式+最少 3 个字母+没有数字和空格+末尾不可重复

转载 作者:行者123 更新时间:2023-11-30 15:26:05 28 4
gpt4 key购买 nike

我在当前的 Web 应用程序中确实有以下 RegExp

function myCyrillicValidator(text){
return XRegExp("^\\p{Cyrillic}+$").test(text);
}

如您所见,我使用了 XRegExp javasciprt 库。目前,这个 regxep 检查它的 cyrillic。我想扩展它并检查:

  • 它是西里尔文
  • 至少3个字母
  • 没有空间
  • 最后的字母不重复,即 Gabenn <- 是错误的,Moneyy <- 是错误的,因为最后 2 个字母是重复的
  • 首字母大写

我尝试了一些在线 RegExp 测试人员/构建人员来构建当前规则之上。但是他们都没有告诉我当前的 regexp 工作正常。但令人惊讶的是,它在 webapp 中工作,但在在线测试器中不起作用。

XregxExp 如果重要的话,版本是 2.0.0

最佳答案

使用以下正则表达式:

XRegExp("^(?=\\p{Lu})(?!.*(.)\\1$)\\p{Cyrillic}{3,}$")

参见 regex demo .

详细信息:

  • ^ - 字符串 anchor 的开始
  • (?=\\p{Lu}) - 第一个字母必须是大写
  • (?!.*(.)\\1$) - 字符串不应以 2 个相同的字符结尾
  • \\p{Cyrillic}{3,} - 字符串应仅包含 3 个或更多西里尔字母
  • $ - 字符串 anchor 的结尾

function myCyrillicValidator(text){
return XRegExp("^(?=\\p{Lu})(?!.*(.)\\1$)\\p{Cyrillic}{3,}$").test(text);
}

console.log(myCyrillicValidator("Ва")); // => false
console.log(myCyrillicValidator("вася")); // => false
console.log(myCyrillicValidator("Васяя")); // => false
console.log(myCyrillicValidator("Вася")); // => true
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-all-min.js"></script>

关于javascript - 西里尔字母正则表达式+最少 3 个字母+没有数字和空格+末尾不可重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42946903/

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