第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用正則表達(dá)式驗證數(shù)組中的多個郵政編碼

使用正則表達(dá)式驗證數(shù)組中的多個郵政編碼

白板的微信 2023-07-06 10:07:14
我正在嘗試創(chuàng)建一個根據(jù)正則表達(dá)式驗證郵政編碼的函數(shù)。用戶可以選擇一個或多個郵政編碼。當(dāng)我輸入一個郵政編碼時,它工作正常,但是當(dāng)輸入多個郵政編碼時,我只是得到未定義的結(jié)果這是我的功能const validatePostcode = (...postcode) => {  const postcodeRegex = /^[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}$/i;  if (postcode.length > 1) {    postcode.forEach((item) => {      console.log(item);      return postcodeRegex.test(item);    });  } else {    return postcodeRegex.test(postcode);  }};
查看完整描述

3 回答

?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊

當(dāng) 時,您不會返回任何東西postcode.length > 1。

相反,您正在遍歷postcode數(shù)組。函數(shù)內(nèi)的 returnforEach不執(zhí)行任何操作。

您需要決定該函數(shù)應(yīng)返回什么。它應(yīng)該只返回一個布爾值還是一個布爾值數(shù)組?

對于單個布爾值,您需要everysome。

布爾數(shù)組只需使用map.


查看完整回答
反對 回復(fù) 2023-07-06
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊

  1. postcode始終作為數(shù)組事件出現(xiàn),您沒有將任何參數(shù)傳遞給函數(shù)。

  2. 即使您返回值,您也會迭代postcode數(shù)組forEach,但 的結(jié)尾forEach將返回,而不是undefined按您的預(yù)期返回。booleanarray

  3. 我使用了每種方法來測試所有元素是否通過postcode測試。這里它應(yīng)該適用true于所有元素,false如果有的話它會是false

  4. 為了避免每次返回true都是空數(shù)組,我們應(yīng)該檢查postcode.length > 0.

這是代碼:

const validatePostcode = (...postcode) => {

? const postcodeRegex = /^[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}$/i;

? return postcode.length > 0 && postcode.every(item => postcodeRegex.test(item));

};


查看完整回答
反對 回復(fù) 2023-07-06
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗 獲得超8個贊

forEach 方法并不意味著返回任何值:lambda 的返回值被丟棄。這就是為什么你得到未定義的原因。也是if... else...沒用的。forEach 對于只有一個元素的數(shù)組效果很好。您需要一個接受 lmbda 并返回值的函數(shù)。根據(jù)您的需要every,它可能是(如果所有郵政編碼匹配,則返回 true)或者可能map(返回一個布爾數(shù)組,每個傳遞的郵政編碼一個)或some(如果至少一個郵政編碼匹配,則返回 true)


const validatePostcode = (...postcode) => {

? const postcodeRegex = /^[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}$/i;

? return postcode.map(item => postcodeRegex.test(item));

};


const validateAtLeastOnePostcode = (...postcode) => {

? const postcodeRegex = /^[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}$/i;

? return postcode.some(item => postcodeRegex.test(item));

};


查看完整回答
反對 回復(fù) 2023-07-06
  • 3 回答
  • 0 關(guān)注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號