如何检测PHP中的字符串是否包含1个大写字母

时间:2010-12-13 06:31:13

标签: php regex string

无法找到此功能。我假设我需要使用正则表达式?

如果网址包含至少1个大写字母,我正在尝试在php中执行html重定向。

示例:http://www.domain.com/Michael_Jordan需要重定向到http://www.domain.com/michael_jordan - 唯一的问题是我似乎无法找到一个脚本来检测是否存在至少1个大写字母。

5 个答案:

答案 0 :(得分:35)

某些正则表达式应该可以正常工作,您可以使用preg_match[A-Z]

if(preg_match('/[A-Z]/', $domain)){
 // There is one upper
}

答案 1 :(得分:28)

if (strtolower($url) != $url){
  //etc...

答案 2 :(得分:4)

你也可以尝试这个

if (!ctype_lower($string)) {
    // there is at least une uppercase character
}

不确定这是否比其他两种方法更有效。

答案 3 :(得分:1)

preg_match_all('%\p{Lu}%usD', 'aA,éÁ,eE,éÉ,iI,íÍ,oO,óÓ,öÖ,őŐ,uU,úÚ,üÜ,űŰ', $m);
echo '<pre>';
var_dump($m);
echo '</pre>';

使用匈牙利语utf-8字符进行测试,[A-Z]仅适用于latin1。

答案 4 :(得分:0)

这是一个更简单的例如:

$mydir = "C:\Users\John" ;

print preg_match('/^[A-Z]:\.*/', $mydir, $match )."\n" ;
print $match[0]. " preg match \n" ;

产地:

1
C: preg match

这表明parens不是必需的 - 至少一场比赛,至少

请查看此更具体的应用程序:PHP to SEARCH the Upper+Lower Case mixed Words in the strings?