是否有方法(正则表达式?)来检查字符串是否仅由西里尔字母数字字符组成?
我需要验证输入是否在西里尔字母的范围内,加上数字,破折号和空格
答案 0 :(得分:6)
\p{Cyrillic}
匹配西里尔字符(您可以使用阿拉伯语,希腊语等其他字母表)
\d
匹配数字
\s
匹配空白字符
\-
匹配破折号
<?php
header('Content-Type: text/html; charset=utf-8');
$pattern = "/^[\p{Cyrillic}\d\s\-]+$/u";
$subjects = array(12, "ab", "АБ", '--', '__');
foreach($subjects as $subject){
$match = (bool) preg_match($pattern, $subject);
if($match)
echo "$subject matches the testing pattern<br />";
else
echo "$subject does not match the testing pattern<br />";
}
?>