我有一個JSON編碼的PHP數組:測試對一個字符串/對象
<script>
var registeredEmails = <?php echo(json_encode($emails)); ?>;
</script>
要檢查這工作,我這樣做:
console.log(registeredEmails);
// this outputs: ["[email protected]", "[email protected]"]
現在我想遍歷那個JSON並且對它包含的所有字符串測試一個特定的字符串。
for (var email in registeredEmails) {
if (registeredEmails.hasOwnProperty(email)) {
var duplicate = registeredEmails[email];
console.log(duplicate + ' is typeof: ' + typeof(duplicate));
// this outputs: [email protected] is typeof: string
// $(this).val() is a string from somewhere else
if (duplicate.test($(this).val())) {
// we found a match
};
}
}
據我所知,test()
方法測試字符串匹配。我已經測試過,以確保我的變量duplicate
是一個字符串,但顯然它仍然是一個對象。我給了以下JS錯誤:
Uncaught TypeError: Object [email protected] has no method 'test'
爲什麼?
你可能會尋找「string.indexOf(」 stringToFind')== -1'或'/正則表達式模式/.test(string)' –