如果alpha或有空格,则php preg_匹配验证字符串
我需要验证一个字符串,该字符串只能有字母(小写或大写),并且可能有空格(可能没有太多)和破折号如果alpha或有空格,则php preg_匹配验证字符串,php,regex,preg-match,Php,Regex,Preg Match,我需要验证一个字符串,该字符串只能有字母(小写或大写),并且可能有空格(可能没有太多)和破折号 if(preg_match('/^[-a-zA-Z0-9]+$/', $myString)) { //valid string } 您可以使用此正则表达式: /^[a-zA-Z -]+$/ if(preg_match('/^[a-zA-Z -]+$/', $myString)) { //valid string } 编辑如果输入必须以字母开头,则使用: /^[a-zA-Z][a-
if(preg_match('/^[-a-zA-Z0-9]+$/', $myString)) {
//valid string
}
您可以使用此正则表达式:
/^[a-zA-Z -]+$/
if(preg_match('/^[a-zA-Z -]+$/', $myString)) {
//valid string
}
编辑如果输入必须以字母开头,则使用:
/^[a-zA-Z][a-zA-Z -]*$/
您可以将其用于只包含字母、空格和破折号,但至少包含一个字母的字符串
if(preg_match('/^(?=.*[a-z])[a-z -]+$/i', $myString)) {
echo 'valid';
}
编辑:
如果输入必须以任何字母开头,则正则表达式可以简化为:
if(preg_match('/^[a-z][a-z -]*$/i', $myString)) {
echo 'valid';
}
是否只有空格?它应该接受带空格或不带空格。因此
“
有效?可能无效。它应该至少有一个字母,并且只有破折号--“”?是的。字符类中的任何内容都允许使用这些字符,但您也可以不使用任何这些符号。因此,允许使用abc
或abc xyz
。它是否满足的要求?输入必须以任何字母开头?@anubhava Oh。。。我没看到。有了这个要求,您的答案就可以了。是的,它还将允许“-a”
和“-x”
字符串。但我猜这个问题从一开始就没有很好的定义。