Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery检查数组是否包含子字符串_Javascript_Php_Jquery_Arrays - Fatal编程技术网

Javascript Jquery检查数组是否包含子字符串

Javascript Jquery检查数组是否包含子字符串,javascript,php,jquery,arrays,Javascript,Php,Jquery,Arrays,我试图检查我的数组regions是否包含用户提交的字符串的一部分。本质上,这个jquery脚本应该检查用户地址中包含的城市是否是regions数组中的城市之一 例如,当用户输入示例Street 24 City1且City1位于区域数组中时,它应该显示40欧元的价格,否则它应该显示2欧元/公里 我有以下代码: var regions = ["city1", "city2", "city3"]; var str = $("#addressField").val(); var address = st

我试图检查我的数组
regions
是否包含用户提交的字符串的一部分。本质上,这个jquery脚本应该检查用户地址中包含的城市是否是
regions
数组中的城市之一

例如,当用户输入
示例Street 24 City1
City1
位于
区域
数组中时,它应该显示
40欧元
的价格,否则它应该显示
2欧元/公里

我有以下代码:

var regions = ["city1", "city2", "city3"];
var str = $("#addressField").val();
var address = str.toLowerCase();
var key, value, result;
for (key in regions) {
    if (regions.hasOwnProperty(key) && !isNaN(parseInt(key, 10))) {
        value = regions[key];
        if (value.substring() === address) {
            $("#deliveryPrice").text("€40");
        }
        else {
            $("#deliveryPrice").text("€2/km");
        }
    }
}

当字符串只是城市而没有街道或其他字符时,此代码可以正常工作,但如果有人输入其完整地址,此代码也应该可以工作。因此,我需要更改代码,以便它在数组
区域
中搜索字符串
地址
的任何部分

您可以使用regexp找到合适的价格:

var regions=[“城市1”、“城市2”、“城市3”];
var address=“示例地址42-200城市1波兰”;
var address2=“城市3”;
var address3=“城市6”;
地址(地址、区域)的功能价格{
var city=regions.find(函数(区域){
var reg=新的RegExp(区域“i”);
返回地址。匹配(reg)!==null;
});
国际单项体育联合会(城市){
返回‘20元’;
}否则{
返回“4美元/公里”;
}
}
log(priceForAddress(地址,区域));
log(priceForAddress(address2,regions));

log(priceForAddress(address3,regions))您可以使用regexp查找正确的价格:

var regions=[“城市1”、“城市2”、“城市3”];
var address=“示例地址42-200城市1波兰”;
var address2=“城市3”;
var address3=“城市6”;
地址(地址、区域)的功能价格{
var city=regions.find(函数(区域){
var reg=新的RegExp(区域“i”);
返回地址。匹配(reg)!==null;
});
国际单项体育联合会(城市){
返回‘20元’;
}否则{
返回“4美元/公里”;
}
}
log(priceForAddress(地址,区域));
log(priceForAddress(address2,regions));

log(priceForAddress(address3,regions))
您应该使用
indexOf

功能测试()
{
var区域=[“城市1”、“城市2”、“城市3”];
var str=“Examplestreet 24 City1”;
var address=str.toLowerCase();
var值、结果;
对于(区域的值){
结果=str.toLowerCase().indexOf(值);
控制台日志(结果);
如果(结果!=-1)
{
控制台日志($40);
返回;
}
其他的
{
控制台日志(“2美元/公里”);
返回;
}
}
}

test()
您应该使用
indexOf

功能测试()
{
var区域=[“城市1”、“城市2”、“城市3”];
var str=“Examplestreet 24 City1”;
var address=str.toLowerCase();
var值、结果;
对于(区域的值){
结果=str.toLowerCase().indexOf(值);
控制台日志(结果);
如果(结果!=-1)
{
控制台日志($40);
返回;
}
其他的
{
控制台日志(“2美元/公里”);
返回;
}
}
}

test()这是完美的,解决了我的问题!谢谢!这是完美的,解决了我的问题!谢谢!