![](/img/trans.png)
[英]How to write a function similar to Array.prototype.every() but for “almost every”
[英]Javascript array.prototype.every not working inside function?
所有,
請參閱以下代碼筆
http://codepen.io/anon/pen/eJNMwJ
我試圖將一個字符串數組傳遞給我的函數Validate email,它迭代地檢查電子郵件,看它們是否與正則表達式匹配。
但是,由於某些原因,此功能似乎不起作用。
正則表達式是正確的
var validEmail = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
function validEmailList(emails) {
console.log("running test 2");
return emails.every(function (email) {
validEmail.test(email.trim());
});
};
emails = ['bob@bob.com', 'foobar@bob.com'];
$('.test1').append(validEmail.test("foobar@foo.com"));
$('.test2').append(validEmailList(emails));
似乎沒有從函數返回任何東西,我期待一個布爾值。
你傳遞給every
的功能也必須return
一些東西。
function validEmailList(emails) {
console.log("running test 2");
return emails.every(function (email) {
return validEmail.test(email.trim());
});
};
Array.prototype.every
調用的回調需要返回一個布爾值:
return emails.every(function (email) {
return validEmail.test(email.trim());
//^^^^^^^
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.