西里尔字母正则表达式+最少 3 个字母+无数字且 space+末尾不可重复

RegExp for Cyrillic+minimum 3 letters+without numbers and space+non repeatable at the end

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

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

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

我在网上尝试了一些 RegExp tester/builders 来建立在当前规则之上。但是 none 向我展示了当前的 regexp 工作正常。但令人惊讶的是,它在 webapp 中工作,但在在线测试人员中却没有。

XregxExp 版本是 2.0.0 如果重要的话

使用以下正则表达式:

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

参见regex demo

详情:

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

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>