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

function myCyrillicDigitsAndSpaceValidator(text){
    return XRegExp("^[\\p{Cyrillic}0-9]+").test(text);
}

如您所见,我使用XRegExp javasciprt库。当前,此regxep检查其西里尔字母+空格+数字。我想扩展它并检查:


XregxExp version is 2.0.0 if it does matter
正确的例子:
1 Май

-

Май 25\5

最佳答案

为此,您可以尝试使用正向前行。考虑以下正则表达式模式:

^(?=.* )
 (?=.*\d)
 (?=.*[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/])
 (?=.*[\p{Cyrillic}])
 [ \d-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/\p{Cyrillic}]+
$

这断言,输入中都出现了空格,数字,符号和西里尔字母。然后,它匹配这四个字符类别中的一个或多个。

您更新的代码:
function myCyrillicDigitsAndSpaceValidator(text){
    return XRegExp("^(?=.* )(?=.*\\d)(?=.*[-!$%^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/])(?=.*[\\p{Cyrillic}])[ \\d-!$%^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/\\p{Cyrillic}]+$").test(text);
}

关于javascript - 正则表达式,用于匹配西里尔字母,数字,空格和一些特殊字符(-\,:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56231604/

10-11 23:44