2013-02-22 124 views
0

有没有办法找出字符串是否不包含任何字母字符?检查字符串是否在PHP中不包含任何字母字符?

我想做一个正则表达式匹配。但努力做到这一点。

基本上我想把“不包含任何字母字符的字符串”替换为null。

希望我很清楚我的问题。任何帮助,将不胜感激。

+2

[你有什么试过?](http://whathaveyoutried.com) – 2013-02-22 05:37:20

+0

这是我所尝试过的。 preg_replace函数( '/^[^ A-ZA-Z] * $ /', “”,$ STR)。我想知道它是否会奏效。我只想在不包含任何字母的情况下替换字符串。 – user1518659 2013-02-22 05:45:09

+0

@ user1518659:请检查我的答案 – 2013-02-22 05:45:50

回答

4
$str  = '1234'; 
$replace = "test"; 

$res  = preg_replace('/^[^a-zA-Z]*$/',$replace,$str); 


var_dump($res); 
1

试试这个

if (preg_match('/[A-Za-z]/', $myString)) 
{ 
    echo 'Contains at least one character'; 
} 
4

尝试下面的代码...

它可以帮助你...

$myString="abC123"; 

    if(preg_match('([a-zA-Z])', $myString)) 
    { 
     echo('The string contains letters.'); 
    } 
    else 
    { 
     echo('The string contains no letters.'); 
    } 
0

你的问题是混乱的。
所以,如果你想给字符串分配NULL,如果它没有字母字符,对吧? 您可以进行基本检查并进行更换。

if (!preg_match('/[A-Za-z]/', $str)) 
{ 
    $str=NULL; 
} 

如果$ str没有任何字母,则在此阶段它将变为空。 祝你好运!

+0

不可以。如果没有任何字母,我想将其设置为空。 “abc123”,“abc”,“abc!@#”是有效的,但是“123”,“@#$”无效 – user1518659 2013-02-22 06:04:49

+0

看到我上面的代码,我更新了,它应该适合你。 – Selay 2013-02-22 06:36:58

相关问题