当前位置: 首页 > 面试题库 >

PHP-正则表达式仅允许使用字母和数字

袁雅逸
2023-03-14
问题内容

我努力了:

preg_match("/^[a-zA-Z0-9]", $value)

但我猜我做错了什么。


问题答案:

1.使用PHP的内置ctype_alnum

您不需要为此使用正则表达式,PHP有一个内置函数ctype_alnum可以为您执行此操作,并且执行速度更快:

<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
    if (ctype_alnum($testcase)) {
        echo "The string $testcase consists of all letters or digits.\n";
    } else {
        echo "The string $testcase does not consist of all letters or digits.\n";
    }
}
?>

2.或者,使用正则表达式

如果您非常想使用正则表达式,则有几种选择。

首先:

preg_match('/^[\w]+$/', $string);

\w包含多个字母数字(包括下划线),但包含所有\d

或者:

/^[a-zA-Z\d]+$/

甚至只是:

/^[^\W_]+$/


 类似资料:
  • 我需要一个javascript正则表达式来验证电话号码。数字不能是单个零或仅为零。 e. g. 这些是不允许的。 但这些是允许的: 到目前为止,我拥有的javascript正则表达式是: 但这似乎不起作用。 规则是电话号码可以包含数字和和和。它可以以0开头,但电话号码不能是单个0或仅包含或不包含上述字符的多个零。 你能给我指一下正确的方向吗。提前谢谢。

  • 问题内容: 我希望正则表达式仅对字母和空格进行验证。基本上,这是为了验证全名。例如: Steve Collins先生或Steve Collins先生, 我尝试过此正则表达式。“ [a-zA-Z] + \。?” 但没有工作。有人可以帮我吗,请注意我使用Java。 问题答案: 关于什么: 彼得·米勒 弗朗索瓦·奥朗德 帕特里克·奥布莱恩 西尔瓦娜·科赫·梅林 验证名称是一个难题,因为有效名称不仅包含字

  • 我有以下正则表达式在Java: 如果输入“a334234234”,验证将失败。但是,如果输入“a3423423fsfsdf”,验证将成功。。。 以下正则表达式也是如此,它检查输入是否仅为数字: 如果输入4SASD,验证将失败,但如果输入3dfsdf22,验证将成功。你能帮我做这个吗?

  • 问题内容: 允许数字和点的正则表达式是什么?关于\D这只允许数字,但不允许一个点,我需要它允许数字和一个点,这是一个浮点值,当我在中执行函数时需要有效,但我需要的只是正则表达式那只允许我需要它允许的。 这将是JavaScriptreplace函数的本机语言,用于删除非数字和其他符号(点除外)。 问题答案: 如果您想允许1和1.2: 如果您希望允许,和: 如果只允许1.2(仅浮动): \d允许位数(

  • 我正在尝试构建一个正则表达式来验证用户名,该用户名将包含字母数字字符,并且应该允许<代码>(dot)(撇号)和-(破折号),我尝试了以下正则表达式,但它们不起作用 <代码>/^[a-zA-Z0-9\.-]$/<代码> 请帮帮忙

  • 我的要求是: 字符串应至少包含4个字符(仅允许字母数字、点和连字符) 除此之外,任何地方(开始、中间或结束)都可以使用星号 它不应包含上文第1点和第2点中提及的任何其他字符 例如,以下是有效的字符串: 以下是无效字符串: 我的正则表达式看起来像: 我在第1点和第2点中提到的基本验证是有效的。但正则表达式允许其他特殊字符,如