これは最善の解決策ではないかもしれません。
<script src="jquery.min.js"></script>
<script type="text/javascript">
function isValid(p) {
var valid = true;
for (var key in p) {
if (p.hasOwnProperty(key)) {
if ($.isArray(p[key])) {
p[key].forEach(function (item) {
if (item.match(/\%/g)) {
if (item.match(/\%/g).length >= 2) {
valid = false;
return valid;
}
else if (item.indexOf("%") > -1) {
if (item.length < 4) {
valid = false;
return valid;
}
}
if (item.lastIndexOf("%") != (item.length - 1)) {
valid = false;
return valid;
}
}
});
}
}
}
return valid;
}
$(document).ready(function() {
var valid = true;
var param = { "prodNbr": ["ABC1%", "DERE%"], "skuNbr": ["MNO1%", "KLM2%"], "prodCd": [], "prodCd1": "1" };
console.log(isValid(param)); //if false conditions not met.
});
</script>
おかげさまであなたのクイック返信をお待ちしております。ありがとうたくさん – Bijil
私はオブジェクトのパラメータの値を配列に変換すると言っています ["ABC1%、DEF1%、MNO1%、KLM2%"] %が複数回出現していないことを確認するにはどうすればいいですか?この配列では、4つの要素にエラーが発生する%があります) – Bijil
@Bijilよく、1つの要素が1%を超えることはできますか?そうでない場合は、文字列化されたバージョンに%がstr = array.join( '、')であるかどうかを確認することができます – juvian