1

我是 PHP 新手,正在尝试让此表单要求在允许提交之前填写某些字段。我的电子邮件、电话号码和邮编都可以使用,但我的姓名却不行。我花了一分钟才意识到为什么,但现在我不知道如何解决它。

在我的字段表单上,我在输入框中输入了名称,以便用户知道在该框中输入什么,我的 PHP 代码只检查是否有任何 Az 和空格。有什么方法可以检查它是否不仅仅是字段中的“名称”???谢谢并希望这是有道理的!:)

PHP代码

$string_exp = '/^[a-zA-Z0-9 ]*$/';
if(!preg_match($string_exp,$name)) {
$error_message .= 'The Name you entered does not appear to be valid.<br />';
}

代码

<label for="name"></label><input type="text" class="rounded" name="name" size="26"
value="Name" style="color:#775594;" onblur="if(this.value==''){this.value='Name'}"
onFocus="if(this.value=='Name'){this.value=''}" />
4

1 回答 1

1

添加另一个条件:

$string_exp = '/^[a-zA-Z0-9 ]*$/';
if(!preg_match($string_exp,$name) || $name == 'Name') {
    $error_message .= 'The Name you entered does not appear to be valid.<br />';
}

// for any unicode name, accent, umlauts .. etc:
$string_exp = '/^((\p{L}\p{M}*)|(\p{Cc})|(\p{P}\p{P}\p{N}.{3})|(\p{N})|(\p{Zs}))+$/ui';

阅读有关 unicode 正则表达式的更多信息。

于 2012-09-13T13:11:52.143 回答