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

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

為什么我的正則表達式在客戶端上工作但在服務(wù)器上失???

我正在使用一個應(yīng)該驗證用戶名的正則表達式。用戶名只能包含英文字母、數(shù)字或下劃線??蛻舳舜a輸入按預(yù)期工作,不允許除字母、數(shù)字和取消劃線之外的任何內(nèi)容:              <input                type="text"                name="username"                id="username"                required                minlength="2"                maxlength="14"                pattern="[A-Za-z0-9_]+"                class="form__input"              />當(dāng)我嘗試提交包含 的用戶名時!,瀏覽器驗證不允許這種情況發(fā)生?,F(xiàn)在,在我的服務(wù)器端(Express 應(yīng)用程序 + 是的)我使用相同的正則表達式,但是,它沒有按預(yù)期工作:    const shema = yup.object().shape({  username: yup    .string()    .required()    .trim()    .min(2)    .max(14)    .matches(/[A-Za-z0-9_]+/, 'Only English letters, numbers, and underscore allowed (2-14 characters)')})當(dāng)我使用 Postman 并使用包含的用戶名發(fā)送發(fā)布請求時!,驗證不起作用。所有其他字段均按預(yù)期驗證,因此,我的正則表達式可能存在問題?謝謝。
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

在 HTML 中,模式屬性隱式地跨越輸入值的整個長度- 就好像它的兩端都有不可見的^和s 。$例如:


<form>

  <button>submit will fail because more than one digit exists in the input</button>

  <input pattern="\d" value="123">

</form>

要使服務(wù)器上的模式執(zhí)行與客戶端上執(zhí)行的邏輯相同的邏輯,請使用:

.matches(/^[A-Za-z0-9_]+$/

或者,更好的是,使用\w,它匹配字母、數(shù)字和_字符:

.matches(/^\w+$/

您也可以在客戶端上執(zhí)行此操作:

<form>

  <button>submit</button>

  <input pattern="\w+">

</form>


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

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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