我是jquery的新手,我正在制作一个项目。我已经在互联网上搜索并检查了stackoverflow中的其他一些东西,但我还没有看到符合我需要的东西。
所以我有一个邮政编码包含字段,可以有一个或多个邮政编码。
防爆。 CC,DD,AA
或CC
如果只有一个。从我需要的那些输入
比较具有所有邮政编码包含的字符串变量。
防爆。 var postcodes_include = "CC,AA,DD,KK,BB";
和输入字段,如果用户只有AA,BB
类型,它会搜索postcodes_include
,并会发现它是否匹配。
谢谢!
答案 0 :(得分:1)
首先将postcode_incluedes
拆分为数组。拆分输入,循环它们,并测试它们是否在数组中。不需要正则表达式。
function validate_postcodes(postcodes_include) {
var postcodes_include_array = postcodes_include.split(',');
var postcodes = $("#postcodes").val().split(',');
for (var i = 0; i < postcodes.length; i++) {
if ($.inArray(postcodes[i], postcodes_include_array == -1) {
alert("Postcode " + postcodes[i] + " is not allowed");
return false;
}
}
return true;
}
答案 1 :(得分:0)
此答案不需要正则表达式。您可以使用字符串.split()和.search()来实现您想要的效果:
var postcodes_include = "CC,AA,DD,KK,BB"
var known_postcodes = []
var unknown_postcodes = []
$(document).ready(function(){
$('form').submit(function(e){
e.preventDefault()
// split the input to get all codes
var inputSplit = $('input').val().split(",")
// iterate all the input codes
for(c in inputSplit){
var code = inputSplit[c]
if(postcodes_include.search(code) >= 0){
known_postcodes.push(code)
}else{
unknown_postcodes.push(code)
}
}
alert(known_postcodes);
alert(unknown_postcodes);
})
})