0
如何計算數字字符與string
字符在PHP?如果我使用strlen
,那只是計數string
。我想限制username
輸入值只有20個字符,如果我只輸入20或更多string
,此代碼工作,但如果我輸入(例如:Admin123Admin123Admin123)那不工作,我的驗證輸入失敗。PHP - 我如何計算數字字符和字符串字符來檢查用戶名長度值?
我有這樣的警予2 useraccount
控制器代碼:在PHP
function saveNewUsers()
{
$.ajax({
type :'POST',
dataType : 'json',
data : { id: $('#hiUserID').val(), username : $('#txtUsername').val(), password: $('#txtPassword1').val(), group: $('#cbUserGroup').val(), expired: $('#cbExpired').val() },
url : '" . \Yii::$app->getUrlManager()->createAbsoluteUrl('useraccount/saveuser') . "',
success : function(response) {
if (!response.result) {
if (response.error == 2)
{
$('#errorMessageUser').html(DecodeEntities('{$myLabels[20]}.')).show();
}
else if(response.error == 3)
{
$('#errorMessageUser').html(DecodeEntities('{$myLabels[56]}.')).show();
}
else if(response.checkUsername > 20)
{
$('#errorMessageUser').html(DecodeEntities('{$myLabels[57]}.')).show();
}
else $('#errorMessageUser').html(DecodeEntities('{$myLabels[22]}.')).show();
}
else {
$('#errorMessageUser').html('').hide();
$('#myUserModal').modal('hide');
$.pjax.reload({container:'#myPjax',timeout:false});
}
}
});
}
那麼,如何計算數字和字符串:
// new user
if ($username != '' && $password != '' && intval($group) > 0 && !$exist)
{
$myFunctions = new userFunctions;
$exist = $myFunctions->isUserNameExist($username);
$isValid = $myFunctions->isValidPassword($password);
$checkUsername = strlen($username);
// $temp = str_split($username); // Convert a string to an array by each character
// // if don't want the spaces
// $temp = array_filter($temp); // remove empty values
// $checkUsername = count($temp);
if ($isValid == 0 && !$exist)
{
$result = $myFunctions->saveNewUser($username, $password, $group, $expired);
$error = ($result) ? 0 : 1;
}
else if($exist)
{
$error = 3;
}
else $error = 2;
}
}
echo \yii\helpers\Json::encode(['result' => $result, 'error' => $error, 'checkUsername' => $checkUsername ]);
這是我的代碼的看法?我真的很感謝PHP新手,希望我們的程序員能在這裏提出建議。對不起,我的英語不好。
strlen不能算數值。 – yosafat
顯示一個例子,因爲我有。 'Admin123Admin123Admin123'是24個字符,所以它不應該工作.. – chris85