作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在练习我的 php 初学者技能,想知道为什么这个脚本总是返回 FALSE?
我做错了什么?
$namefields = '/[a-zA-Z\s]/';
$value = 'john';
if (!filter_var($value,FILTER_VALIDATE_REGEXP,$namefields)){
$message = 'wrong';
echo $message;
}else{
$message = 'correct';
echo $message;
}
最佳答案
正则表达式应该在选项数组中。
$string = "Match this string";
var_dump(
filter_var(
$string,
FILTER_VALIDATE_REGEXP,
array(
"options" => array("regexp"=>"/^M(.*)/")
)
)
); // <-- look here
此外,
$namefields = '/[a-zA-Z\s]/';
应该是
$namefields = '/[a-zA-Z\s]*/'; // alpha, space or empty string
或
$namefields = '/[a-zA-Z\s]+/'; // alpha or spaces, at least 1 char
因为第一个版本我认为你只匹配单字符的字符串
关于php - filter_var 使用 FILTER_VALIDATE_REGEXP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993451/
我正在练习我的 php 初学者技能,想知道为什么这个脚本总是返回 FALSE? 我做错了什么? $namefields = '/[a-zA-Z\s]/'; $value = 'john'; if (!
找到以下很好的正则表达式来匹配所有可打印的 ASCII 字符: [ -~] 我的代码是这样的: $string = "My ASCII string is (not) very funny."
我是一名优秀的程序员,十分优秀!