繁体   English   中英

php使用preg_match验证字符串

[英]php validate string with preg_match

我试图在PHP中用preg_match验证输入字符串只包含“az,AZ, - ,_,0-9”字符。 如果它只包含这些,那么验证。

我试图在谷歌搜索,但我找不到任何有用的东西。

有人可以帮忙吗?

谢谢 !

如果空字符串也有效,请使用模式'/^[A-Za-z0-9_-]*$/' 否则'/^[A-Za-z0-9_-]+$/'

所以:

$yourString = "blahblah";
if (preg_match('/^[A-Za-z0-9_-]*$/', $yourString)) {
    #your string is good
}

另外,请注意,您希望在字符类中将' - '最后一个作为字符类的一部分,这样它将被读作文字' - '而不是两个字符之间的短划线,例如AZ之间的连字符。

$data = 'abc123-_';
echo preg_match('/^[\w|\-]+$/', $data); //match and output 1

$data = 'abc..';
echo preg_match('/^[\w|\-]+$/', $data); //not match and output 0

你可以使用preg_replace($ pattern,$ replacement,$ subject):

if (preg_replace('/[A-Za-z0-9\-\_]/', '', $string)) {
  echo "Detect non valid character inside the string";
}

想法是删除任何有效的字符,如果结果不为空,请执行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM