瑞典社會安全號碼或身份證號碼(瑞典語:personnummer)通常格式如下:手柄區別
- YYMMDDNNNN
- YYMMDDNNNN
- YYYYMMDDNNNN
- YYYYMMDDNNNN
所有組織和公司有Ø這是在下面的格式,看起來像瑞典SSN:rganisation號(organisationsnummer瑞典):
- XXXXXXXXXX
- XXXXXXXXXX
反正有做一個綱領性的區別,看它是否是一個組織號碼還是SSN?最好在C#中。
瑞典社會安全號碼或身份證號碼(瑞典語:personnummer)通常格式如下:手柄區別
所有組織和公司有Ø這是在下面的格式,看起來像瑞典SSN:rganisation號(organisationsnummer瑞典):
反正有做一個綱領性的區別,看它是否是一個組織號碼還是SSN?最好在C#中。
是的。 :)
組織號碼看起來像個人身份號碼,但具有20或更高的「月」數,因此distinction is possible。因此,最低的團體號變成這樣:
因此,我們可以爲您在「月」的第一個數字,看它是否是0或者1( 1月1日... 10月10日等)。可以處理上述所有
代碼,需要一些錯誤檢查在生產中雖然使用方法:
public bool IsSwedishSsn(string identity)
{
identity = identity.Replace("-", "");
if (identity.Length == 12)
identity = identity.Substring(2, 10);
return bool socialSecurityNumber = identity.Substring(2, 1) == "0" || identity.Substring(2, 1) == "1";
}
今天你學到了一些東西,這很好,但是這些信息真的和其他程序員有關嗎?它太「本地化」(一個不存在的緊密原因),更通用的問題_「如何識別字符串中的第N個字符是數字,並且高於X或低於Y」_(或其子集)已被詢問並且大量解決。爲什麼不在輸入端解決這個問題,爲用戶提供兩種不同的輸入,以便他們可以輸入SSN或組織編號? – CodeCaster
這有時不會有效嗎?當組織號碼也是有效的識別號碼時會發生什麼?例如:1601011234.難道不是嗎? – hatchet
@CodeCaster我真的給了它一些想法,如果我應該發表或不,但最終我認爲這是值得的。我正在研究一個項目,我們需要這樣做,而且我也找不到任何類似的問題。花了一些時間才找到「月份」代碼,我真的認爲它可以幫助一些瑞典的程序員,或者任何其他人不得不作出同樣的區分。 – Ogglas
如果超過9999名瑞典嬰兒出生在同一天,會發生什麼? – juharr
@juharr我在研究我的問題時遇到了這個問題。實際上,它可以處理得更少,最後一位數字只是一個控制數字,倒數第二位對於男孩甚至女孩來說都是奇怪的。當我們到達500個男孩或女孩的同一天時發生的事情是真正的問題(目前瑞典約爲300)。 2014年7月,平均每天有352名男孩。 https://en.wikipedia.org/wiki/Personal_identity_number_(Sweden)#Checksum http://www.scb.se/sv_/Hitta-statistik/Artiklar/Manga-barn-fods-under-var-och-sommar/ – Ogglas
@奧格拉斯在奧地利,它是完全一樣的系統。實際上每天有超過500名男孩的情況。在這種情況下,社會安全號碼的出生日期是** 2014-13-32 **,即不存在的虛構日期! **一個軟件應該能夠處理這個**順便說一句:這主要是由於來自標準較低的國家的移民,那裏的許多人在1月1日或6月1日「正式出生」。 –