如何添加仅接受字母的输入字段。另外,如何添加仅接受数字的输入字段。一旦用户输入在文本字段中说出只接受数字的字母就会出错。
if(empty($_POST['firstname']))
{
$errors['firstname1'] = " Required";
}
if(empty($_POST['zip']))
{
$errors['zip1'] = " Required";
}
<!-- Letters only for firstname -->
<p>
<label for="firstname" class="label"><font color="#040404">*First Name:</font></label>
<input class="textinput" id="firstname" type="text" name="firstname" value="<?php if(isset($_POST['firstname'])) echo $_POST['firstname']; ?>" /><?php if(isset($errors['firstname1'])) echo $errors['firstname1']; ?>
</p>
<!-- Letters only for zip -->
<p>
<label for="zip" class="label"><font color="#040404">*Zip Code:</font></label>
<input id="zip" type="text" name="zip" value="<?php if(isset($_POST['zip'])) echo $_POST['zip']; ?>" /><?php if(isset($errors['zip1'])) echo $errors['zip1']; ?> <?php if(isset($errors['zip2'])) echo $errors['zip2']; ?>
</p>
答案 0 :(得分:5)
考虑使用PHP函数ctype_alpha&amp;表单验证中的ctype_digit。
ctype_alpha 仅在验证由字母组成时才返回true,如果使用数字或特殊字符,则返回false。
ctype_digit 仅在验证由数字组成时才返回true,如果使用字母或特殊字符,则返回false。
这是一个检查数组的快速示例。它将返回false,因为其中一个字符串中有一个数字:
$string = array('word', 'number5');
if (ctype_digit($string)) {
echo "All numbers are true!";
} else {
echo "Something's not right";
}
希望这有帮助!
答案 1 :(得分:4)
如何只允许文本字段中的字母。
您可以使用HTML5的pattern
属性仅允许文本字段中的字母,如下所示:
<input type="text" name="fieldname1" pattern="[a-zA-Z]{1,}" required>
如何仅允许文本字段中的数字
Simillarly,让type
属性number
仅允许文本字段中的数字,如下所示:
<input type="number" name="fieldname2" required>
或者,使用pattern
属性,如下所示:
<input type="text" name="fieldname2" pattern="[0-9]{1,}" required>
旁注:即使客户端上的这些输入字段会在某种程度上限制用户,但它们也不是可靠的,也是您唯一的防线。使用服务器端上的PHP Regex严格验证您的输入数据。
答案 2 :(得分:1)
您无需编写任何额外代码即可满足您的要求
以下示例仅允许使用字母(在任何序列中都是小的和大写的)。
<input id="my_id" type="text" pattern="[A-Za-z]*" class="validate">
或者您可以提供更多限制,例如只允许首字母为大写字母,并使用pattern="[A-Z][a-z]*"
要仅允许数字使用pattern="[0-9]*"
,并且只允许修正号码(比如10 )使用pattern="[0-9]{10}"
答案 3 :(得分:0)
仅限数字,这里是我与jQuery一起使用的代码段:
$('.content').keydown(function(e){
var c = (e.charCode || e.keyCode);
if(c<48 || c>57){
return false;
}else{
return true;
}
});
答案 4 :(得分:0)
注意:这仅适用于PHP
如果您想使用PHP
在服务器端进行验证,可以使用:
function validate_string_spaces_only($string) {
if(preg_match("/^[\w ]+$]/", $string)) {
return true;
} else {
return false;
}
}
仅包含字母,数字和可选空格的字符串
答案 5 :(得分:0)
使用此:
function removeInvalidCharacters($input, $allowedChars = 'abcdefghijklmnopqrstuvwxyz 1234567890')
{
$str = '';
for ($i = 0; $i < strlen($input); $i++)
{
if (!stristr($allowedChars, $input[$i]))
{
continue;
}
$str .= $input[$i];
}
return $str;
}