我在当前的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
答案 0 :(得分:0)
您可以简单地将任何特殊字符和您希望的其他字符添加到您已经拥有的列表中,例如:
^[\\p{Cyrillic}0-9#$%^&\-\s\\]+$
或
([\\p{Cyrillic}0-9\\s\-#$%^&\\]+)
如果不需要此表达式,可以在regex101.com中对其进行修改或更改。
jex.im还有助于可视化表达式。
答案 1 :(得分:0)
为此,您可以尝试使用正向前行。考虑以下正则表达式模式:
^(?=.* )
(?=.*\d)
(?=.*[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/])
(?=.*[\p{Cyrillic}])
[ \d-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/\p{Cyrillic}]+
$
这断言,输入中均出现空格,数字,符号和西里尔字母。然后,它匹配这四种字符中的一种或多种。
您更新的代码:
function myCyrillicDigitsAndSpaceValidator(text){
return XRegExp("^(?=.* )(?=.*\\d)(?=.*[-!$%^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/])(?=.*[\\p{Cyrillic}])[ \\d-!$%^&*()_+|~=`{}\\[\\]:\";'<>?,.\\/\\p{Cyrillic}]+$").test(text);
}