使用PHP仅允许字符串中的[a-z][a-z][0-9]
如何获取只包含a到z、a到z、0到9和一些符号的字符串?实现这一点的最佳且最灵活的方法是使用正则表达式。使用PHP仅允许字符串中的[a-z][a-z][0-9],php,regex,Php,Regex,如何获取只包含a到z、a到z、0到9和一些符号的字符串?实现这一点的最佳且最灵活的方法是使用正则表达式。 但我不知道如何在PHP中实现这一点,但本文可以提供帮助 您可以像这样过滤它: $text = preg_replace("/[^a-zA-Z0-9]+/", "", $text); 至于一些符号,您应该更具体一些您可以使用preg\u match测试您的字符串(让$str): if(preg_match("/^[a-zA-Z0-9]+$/", $str) == 1) { // st
但我不知道如何在PHP中实现这一点,但本文可以提供帮助 您可以像这样过滤它:
$text = preg_replace("/[^a-zA-Z0-9]+/", "", $text);
至于一些符号,您应该更具体一些您可以使用preg\u match
测试您的字符串(让$str
):
if(preg_match("/^[a-zA-Z0-9]+$/", $str) == 1) {
// string only contain the a to z , A to Z, 0 to 9
}
如果您需要更多符号,可以将它们添加到
]
之前,这两个正则表达式都可以:
$str = preg_replace('~[^a-z0-9]+~i', '', $str);
或:
不需要正则表达式,您可以使用以下函数:
- :检查字母数字字符
- :检查字母字符
- :检查控制字符
- :检查数字字符
- :检查除空格外的任何可打印字符
- :检查小写字符
- :检查可打印字符
- :检查任何非空白或字母数字字符的可打印字符
- :检查空白字符
- :检查大写字符
- :检查表示十六进制数字的字符
ctype\u alnum
,例如:
if (ctype_alnum($str)) {
//...
}
例如:
<?php
$strings = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($strings as $testcase) {
if (ctype_alnum($testcase)) {
echo 'The string ', $testcase, ' consists of all letters or digits.';
} else {
echo 'The string ', $testcase, ' don\'t consists of all letters or digits.';
}
}
快捷方式如下所示:
if (preg_match('/^[\w\.]+$/', $str)) {
echo 'Str is valid and allowed';
} else
echo 'Str is invalid';
在这里:
// string only contain the a to z , A to Z, 0 to 9 and _ (underscore)
\w - matches [a-zA-Z0-9_]+
希望有帮助 请提供更多细节。你的需要是什么?这是一个模糊的问题,但没有必要轻率地将它抛诸脑后。有一些非常糟糕的问题可能需要这种治疗,但这不是其中之一��s�o�N�U� �N�我�G�A.�M�,� �s�A.�我�N�D�H�A.�v�我我想消除符号…像这样使用,$strchr=”��s�o�N�U� �N�我�G�A.�M�,� �s�A.�我�N�D�H�A.�v�“我”$bodytag=str_替换(“�", "", $很好,它工作了…那已经工作了…我刚刚重新启动了我的mozilla…我得到了…非常感谢大家…你完全正确,我应该在^
和$
中包围该模式,以防止与'?abs???
匹配,例如,整个使用//code>分隔符。对不起,谢谢。
// string only contain the a to z , A to Z, 0 to 9 and _ (underscore)
\w - matches [a-zA-Z0-9_]+