我正在尝试验证字符串是否包含并以BA700
开头。我尝试在PHP中使用preg_match()
函数,但我没有运气。我的代码如下:
preg_match('/^[0-9]{3}-[0-9]{4}-[0-9]{4}$/', $search))
不幸的是,这不起作用。有什么想法吗?
更新代码:
$needle = 'BA700';
$haystack = 'BA70012345';
if (stripos($haystack, $needle)) {
echo 'Found!';
}
这对我不起作用
答案 0 :(得分:0)
尝试substr
喜欢
$needle = 'BA700';
$haystack = 'BA70012345';
if(substr($haystack, 0, 4) == $needle) {
echo "Valid";
} else {
echo "In Valid";
}
您还可以通过更改UPPER
或LOWER
中的两者来检查案例的问题
if(strtoupper(substr($haystack, 0, 4)) == $needle) {
echo "Valid";
} else {
echo "In Valid";
}
答案 1 :(得分:0)
以下是正确使用stripos的方法
if (stripos($haystack, $needle) !== false) {
echo 'Found!';
}
答案 2 :(得分:0)
也许我的字面意思太过分了,但是:
if (strncmp($string, 'BA700', 5) === 0) {
// Contains and begins with 'BA700'
}
如果BA700
不区分大小写,那么:
if (strncasecmp($string, 'ba700', 5) === 0) {
// Contains and begins with 'ba700'
}
不应该有更多的东西。
正如你想知道的那样,正则表达式是:
if (preg_match('/^BA700/', $string) === 1) {
// Contains and begins with 'ba700'
}