我有一个奇怪的问题,如果标题没有多大意义,我道歉,因为我似乎无法说出来。
基本上我试图检查某个字符串是否只是数字,为此我使用的是regluar表达式
preg_match("/^[0-9]+$/", $ordernumber[1]);
这是从调试中难以解释的地方我已经了解$ordernumber[1]
"41720"
当var dumped $ordernumber[1]
的字符串长度为 6 时应该preg_match("/^[0-9]+$\D/", $ordernumber[1]);
那里只有 5位数。
这让我相信该字符串中有一个空格字符,而这个字符在正则表达式中没有考虑。
如何找出字符串中的哪个空格/特殊字符?
附件是转储的图片以及preg匹配的结果是0 / false。
注意字符串长度
感谢您的阅读。
刚想通了如果我使用{{1}} \ D(非数字)然后它确实返回true,这解决了我的问题,仍然想知道它是什么字符,如果有人知道如何找出
下面的答案将从字符串的开头和结尾修剪空白字符,实际上会做我想要的。
答案 0 :(得分:3)
如果您想知道字符串中的字符,请执行以下操作:
echo bin2hex($string);
答案 1 :(得分:0)
尝试将正则表达式修改为
preg_match("/^[0-9]+$/", trim($ordernumber[1]));