我需要放置验证,该名称不应从空间开始。或_
输入名称后,然后您可以添加。
Valid :
My Name
My.Name
My_Name
In Valid:
My Name
_My Name
.My Name
我做了一个函数
function validName($name) {
$name_first_character = substr($name, 0, 1);
if ($name_first_character == '.' || $name_first_character == '-') {
return FALSE;
}
return TRUE;
}
,但仍然没有检查空间。我需要与preg_match
?
正则表达式可能会更容易。您缺少一些您不想允许的字符。使用in_array
编写它也更容易。
if (in_array($name_first_character, array('.', '-', ' ', '_'))) {
return FALSE;
}
演示:https://3v4l.org/sgm4t
正则可能是:
if (preg_match('/^[-._ ]/', $name)) {
return FALSE;
}
演示:https://3v4l.org/cu6vi
如果要禁止任何类型的空白,则可以用s
替换字符类中的空间。
^
是字符串的开始
[]
创建一个字符类,并允许其中任何一个字符。如果使用-
,并且不在开始或结束时会创建一个范围。例如, 1-9
的数字是1到9。
,而不是检查您不想要的东西,如何检查自己想要的东西
function validName($name) {
$name_first_character = substr($name, 0, 1);
if (ctype_alpha($name_first_character)) {
return TRUE;
}else{
return FALSE;
}
}
要检查空格,可以修剪字符串并比较是否仍然具有相同的变量。类似的东西会检查领先/尾随的空格
$temp = $text
$trimmed = trim($temp);
return $temp == $text