昨天我问了一个问题,看看是否有可能从字符串中删除无效字符,并且只为数字格式化程序保留一些有效字符(Removing (nearly) all non-numeric characters from a string)
答案是例外,它运作良好。但我一直在考虑它,只是删除无效字符是不正确的事情。我不能简单地假设输入的其余字符确实是正确的,最好提出错误。
我想知道如果输入我的$ sAllowedValues变量中没有提到的任何字符,我将如何提出错误
所有帮助表示赞赏!
验证允许使用哪些字符的代码片段
$sAllowedValues = "/\+?[0-9 EeXxTt]*/";
preg_match_all($sAllowedValues, $sNumber, $sMatches);
var_dump($sMatches);
答案 0 :(得分:1)
只需添加字符串匹配的开头和结尾:0
和^
。这样,只有当整个字符串由有效字符
$