亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

社交系統(tǒng)ThinkSNS+ 如何利用 Laravel 表單驗(yàn)證來(lái)驗(yàn)證用戶(hù)名的(我朝獨(dú)有需求,兩個(gè)字母

xiaodao / 2198人閱讀

摘要:言歸正傳,之所以寫(xiě)繼篇,其實(shí)是來(lái)檢討的,上一次發(fā)表了如何計(jì)算字符顯示長(zhǎng)度后,有網(wǎng)友幾經(jīng)測(cè)試后告知有問(wèn)題。簡(jiǎn)言之單字節(jié)字符占,多字節(jié)字符占字節(jié)。

什么是ThinkSNS+

ThinkSNS(簡(jiǎn)稱(chēng)TS)始于2008年,一款全平臺(tái)綜合性社交系統(tǒng),為國(guó)內(nèi)外大中小企業(yè)和創(chuàng)業(yè)者提供社會(huì)化軟件研發(fā)及技術(shù)解決方案,目前最新版本為T(mén)hinkSNS+。

后端框架使用laravel,每周和 laravel master 保持同步,而后臺(tái)和 html 5 則采用 vue 開(kāi)發(fā)。語(yǔ)言特性方面,采用 php 7 的嚴(yán)格模式。

言歸正傳,之所以寫(xiě)繼篇,其實(shí)是來(lái)檢討的,上一次發(fā)表了《ThinkSNS+?如何計(jì)算字符顯示長(zhǎng)度》后,有網(wǎng)友幾經(jīng)測(cè)試后告知str_word_count 有問(wèn)題。

根據(jù)ThinkSNS+ 的進(jìn)度安排,最近在研發(fā)支付功能,所以只能使用周末的時(shí)間做了一個(gè)兼容性更好的計(jì)算方法。

需求

重新說(shuō)下需求:在我天朝 PM 經(jīng)常會(huì)提一種要求,就是例如一個(gè)用戶(hù)名最多輸入12個(gè)漢字,但是英文可以輸入24個(gè),混排也要滿(mǎn)足這個(gè)規(guī)則。

簡(jiǎn)言之:?jiǎn)巫止?jié)字符占0.5,多字節(jié)字符占1字節(jié)。

解決

閑下來(lái)的時(shí)候看了上篇文章中的算法,其實(shí)是沒(méi)什么問(wèn)題的,只是兼容性不夠好,而且寫(xiě)那個(gè)方法時(shí)想得過(guò)于復(fù)雜

也不知道當(dāng)時(shí)腦袋里面都想啥了

我們看上一篇中計(jì)算多字節(jié)的方法:

計(jì)算方法是剔除我們需求中允許的單字節(jié),然后通過(guò) str word count 來(lái)獲取多字節(jié)的個(gè)數(shù),其實(shí)這個(gè)函數(shù)是可以獲取到的,但是部分系統(tǒng)下是不會(huì)成功的。還有一個(gè)函數(shù)就可以直接獲取多字節(jié)的個(gè)數(shù) mb strlen 修改后如下:

然后我們就可以正確完成這個(gè)需求了,最終實(shí)現(xiàn)的 Laravel 驗(yàn)證規(guī)則如下:

Laravel 通過(guò)上面的規(guī)則,可以在表單驗(yàn)證規(guī)則中直接驗(yàn)證,還支持傳入最小值和最大值。

上面的代碼都是來(lái)自于基于 Laravel 開(kāi)發(fā)的開(kāi)源程序 ThinkSNS+ 中,ThinkSNS+ 采用 apache-2.0 協(xié)議開(kāi)源,我相信可以作為很多 Laravel 學(xué)習(xí)者的學(xué)習(xí)程序之一。

項(xiàng)目地址:GitHub: https://github.com/zhiyicx/th...(點(diǎn)擊star關(guān)注研發(fā)動(dòng)態(tài),感謝大家的支持)

ThinkSNS官網(wǎng):http://thinksns.com/

內(nèi)測(cè)申請(qǐng)方式

提供個(gè)人/企業(yè)聯(lián)系方式及認(rèn)證信息(實(shí)名ID/企業(yè)營(yíng)業(yè)執(zhí)照照片或掃描件)及申請(qǐng)說(shuō)明,發(fā)送郵件至lihecong@zhishisoft.com即可獲得內(nèi)測(cè)資格,申請(qǐng)從速。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/23111.html

相關(guān)文章

  • 簡(jiǎn)析ThinkSNS+ 計(jì)算字符顯示長(zhǎng)度方法!【社交系統(tǒng)研發(fā)日記】

    摘要:今天我們來(lái)聊一下可能很多人都會(huì)頭疼的東西顯示長(zhǎng)度。需求是這樣的,在字符的顯示上,兩個(gè)英文單詞才占一個(gè)中文或者其他語(yǔ)言的顯示長(zhǎng)度。好在在無(wú)意間發(fā)現(xiàn)一個(gè)奇怪的東西這個(gè)函數(shù)計(jì)算非英文單詞外是除了符號(hào)例如中文就是按照漢字個(gè)數(shù)算的,也是同理。 今天我們來(lái)聊一下可能很多人都會(huì)頭疼的東西:顯示長(zhǎng)度。 需求是這樣的,在字符的顯示上,兩個(gè)英文單詞才占一個(gè)中文或者其他語(yǔ)言的顯示長(zhǎng)度。如下: showImg...

    Miracle 評(píng)論0 收藏0
  • 如何Laravel 中 “規(guī)范” 開(kāi)發(fā)驗(yàn)證碼發(fā)送功能【社交系統(tǒng)ThinkSNS研發(fā)日記十一】

    摘要:需求場(chǎng)景發(fā)送驗(yàn)證碼或者消息通知,可發(fā)送到手機(jī)或郵箱中。完成首先,在中的規(guī)范就是使用的消息通知,這里基于場(chǎng)景為驗(yàn)證碼。所以我們?cè)隍?yàn)證碼模型中添加是完全符合通知的正確使用的。 順便發(fā)個(gè)小通知:7月15日ThinkSNS+開(kāi)源版發(fā)布,同時(shí)非開(kāi)源的APP也走出內(nèi)測(cè)階段,體驗(yàn)二維碼也全面發(fā)布體驗(yàn)。 什么是ThinkSNS ? ThinkSNS(簡(jiǎn)稱(chēng)TS),一款全平臺(tái)綜合性社交系統(tǒng),為國(guó)內(nèi)外大中小...

    Flands 評(píng)論0 收藏0
  • 如何做到 Laravel 配置可以網(wǎng)站后臺(tái)配置【社群系統(tǒng)ThinkSNS+研發(fā)日記四】

    摘要:本文分享下利用的達(dá)到網(wǎng)站后臺(tái)設(shè)置配置。當(dāng)加載配置執(zhí)行完成后就會(huì)執(zhí)行我注入的后置事件。官網(wǎng)內(nèi)測(cè)申請(qǐng)方式提供個(gè)人企業(yè)聯(lián)系方式及認(rèn)證信息實(shí)名企業(yè)營(yíng)業(yè)執(zhí)照照片或掃描件及申請(qǐng)說(shuō)明,發(fā)送郵件至將有機(jī)會(huì)獲得首批內(nèi)測(cè)資格,名額有限,申請(qǐng)從速。 本文分享下利用 Laravel 的 Bootstrapping 達(dá)到網(wǎng)站后臺(tái)設(shè)置 laravel 配置。 需求場(chǎng)景 首先,ThinkSNS+ 作為一個(gè)用戶(hù)可以使...

    alanoddsoff 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<