rails 問題 如何實現 中文名字至少長度為 2 ,英文本母至少長度為 6 的使用者名稱 validation?

時間 2021-05-30 20:22:19

1樓:藍文

或者可以這樣做

>> a = "盡可能"

=> "盡可能"

>> a.chars.to_a.size

=> 3

>> a << "1"

=> "盡可能1"

>> a.chars.to_a.size

=> 4

2樓:陳彧堃

才發現知乎點名回答的功能,這個問題恰好做過,ruby的string.length會區分對待中英文,英文1中文3,如果想把中英文同等對待,就得用scan(/./u),比如

>> puts '北京'.scan(/./u).size2>> puts '北京a'.scan(/./u).size3>> 'ss'.length

2>> '北京'.length

6按照你的問題,把1個英文當做0.33個中文,可以這麼做class String

def validate()

count = 0

self.scan(/./u).each do ccount += (c.length == 1 ? 0.33 : 1)

if count >= 2 return trueend

return false

endend

3樓:羅晟

自己寫乙個 CustomValidator < ActiveModel::EachValidator,然後裡面分中英文情況進行判斷。Model 裡改成 validates :

name, :custom => true 這樣。

中文名字如何正確翻譯成英文?

Detain 名字沒有正確的翻譯的說法。行不更名坐不改姓也行 為了符合當地價值觀而雅正果的也行。為了裝字母特意起乙個自己聽起來不一般的也行。字母哥聽說過吧?記得他是希臘名字也不是英文 也沒見人家翻譯啊。Hubert Blaine Wolfeschlegelsteinhausenbergerdorff...

《電鋸驚魂》中文名字是否翻譯的欠妥?

我們寢室長 根據 嘉堯 的回答,腦洞出個名字 預見 老頭從第一部開始就策劃了整個復仇計畫,極其周密,甚至死後整個計畫都在完美執行 除了他媳婦兒被害,這個不知道是因他疏忽還是無法避免 說明老頭在實施計畫之前就看到了什麼會發生。He saw the future.SAW 田多多 我最近剛看完1 7,也覺...

中文名如何自然的譯成英文名?

蔚蔚果 正式的中文名英譯就如同你的護照上那樣寫的,漢語拼音原文搬運即可,也是世界各國姓名翻譯的通例,只要有字母表述的直接轉寫即可。如果你出國或是有英語交流需要,拼音發音按英語習慣易讀的和接近原音的就用拼音,至於xing這種難讀的,fang這種意思不怎麼樣的,還是改成sing之類相近讀音或是自行另起乙...