亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

正則表達(dá)式行為的差異
P粉996763314
P粉996763314 2024-04-01 13:33:29
[React討論組]

我正在嘗試構(gòu)建一個(gè)正則表達(dá)式來匹配應(yīng)包含 9 位數(shù)字的字段

我使用下面的正則表達(dá)式

/^\d{9,9}$/

現(xiàn)在,問題是在做的時(shí)候

/^\d{9,9}$/.test("123456789") //returns true

但是,當(dāng)我嘗試使用 Yup 的匹配項(xiàng)使用相同的正則表達(dá)式(在下面的 myRegex 中傳遞)時(shí)

'myField': yup
            .string()
            .nullable()
            .required('Field is required')
            .max(9, `Max length 9`)
            .matches(myRegex, {
                message: 'Field is invalid',
            }),

對(duì)于相同的輸入,我收到無效消息,即 123456789

只是想知道為什么會(huì)這樣?

更新: 是的,使用 value.search(regex) ,因此,就我而言,它運(yùn)行“123456789”.search(/^\d{9,9}$/)

不確定以上是否是問題所在?

P粉996763314
P粉996763314

全部回復(fù)(1)
P粉362071992

似乎您的解決方案使用了錯(cuò)誤的正則表達(dá)式

當(dāng) Yup 的 search() 方法與正則表達(dá)式一起使用時(shí),就會(huì)出現(xiàn)問題。 search() 方法返回第一個(gè)匹配項(xiàng)的索引,并且不計(jì)算完整字符串。

由于“123456789”連續(xù)包含9位數(shù)字,因此滿足正則表達(dá)式,search()方法返回第一次出現(xiàn)的索引,即0。由于0是真值,所以Yup將其解釋為失敗的匹配并返回?zé)o效消息。

這是您可以嘗試使用 /^\d{9}$/ 的正則表達(dá)式

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)