doushao8399
2017-05-29 09:56
浏览 935
已采纳

检查字符串是否包含空格,下划线和字符

i want to check if string has other than spaces,underscore,digit and character.

i have created the following code.But this is not working when i add any other special character or hyphen.

For example take this string.Now this is not valid.when i remove #%#% from string valid.

$string = 'a1uper___ w__#%#%';
if(preg_match('/[a-zA-Z_]/',$string)){      
   echo 'valid';
 }
 else{
   echo 'not valid';
}

I have tried the following pattern also:

'/[a-zA-Z_]/'
'/^[a-zA-Z_]/'
'/[a-z][A-Z][_]/',...

please help

图片转代码服务由CSDN问答提供 功能建议

我想检查字符串是否包含空格,下划线,数字和字符。 \ n

我创建了以下代码。但是当我添加任何其他特殊字符或连字符时,这不起作用。

例如,取这个字符串。现在这是无效的。当时 我从字符串有效中删除#%#%。

  $ string ='a1uper___ w __#%#%'; 
if(preg_match('/ [a-zA-Z_]  /',$ string)){
 echo'valid'; 
} 
 else {
 echo'not valid'; 
} 
   
 
 

我也尝试了以下模式:

 '/ [a-zA-Z _] /'
'/ ^ [a-zA-Z _] /'
'  /[az][AZ][_]/',...
nn

请帮助

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dssqq64884 2017-05-29 10:04
    已采纳

    You need to do it like below:-

    <?php
    
    $string = 'a1uper___ w__ ';
    
    if(preg_match('/^[a-zA-Z_\/\s\d]+$/i',$string)){      
        echo 'valid';
    }
    else{
        echo 'not valid';
    }
    

    Output:- https://eval.in/806911

    Note:-

    a-zA-Z    is for characters
    _         for underscores
    /s        for spaces
    d         for digits
    

    Now '/^[a-zA-Z_\/\s\d]+$/i' will check that string doesn't contain anything apart from the above mentioned.

    If string have above mentioned things only then valid otherwise invalid.

    That's why:-

    a1uper___ w__ is valid (only characters and underscores are there)

    a1uper___ w__#%#% is invalid (because of having unmatched characters #%#% )

    Reference:-

    1. https://regex101.com/

    2. http://www.phpliveregex.com/

    3. https://www.functions-online.com/preg_match.html

    打赏 评论
  • duanpai1033 2017-05-29 10:05

    Try the below one:

    $string = 'a1uper___ w__#%#%';
    if(preg_match('/[\'"^!@#$%&*()£+}{~?><>,|=¬\\-]/',$string)){        
        echo 'not valid';
    }
    else{
        echo 'valid string';
    } 
    
    打赏 评论

相关推荐 更多相似问题