0
A
回答
0
試試這個
/// <summary>
/// http://stackoverflow.com/questions/38781957
/// </summary>
public bool IsValidAcn(string acn)
{
int[] weightings = {8, 7, 6, 5, 4, 3, 2, 1};
var accumulatedSum = 0;
acn = acn?.Replace(" ", ""); // strip spaces
if (string.IsNullOrWhiteSpace(acn) || !Regex.IsMatch(acn, @"^\d{9}$"))
{
return false;
}
// Sum the multiplication of all the digits and weights
for (int i = 0; i < weightings.Length; i++)
{
accumulatedSum += Convert.ToInt32(acn.Substring(i, 1)) * weightings[i];
}
var remainder = accumulatedSum % 10;
var expectedCheckDigit = (10 - remainder == 10) ? 0 : (10 - remainder);
var actualCheckDigit = Convert.ToInt32(acn.Substring(8, 1));
return expectedCheckDigit == actualCheckDigit;
}
xUnit的測試,讓您的技術領導快樂......
[Theory]
[InlineData("604475587", true)]
[InlineData("00 258 9460", true)]
[InlineData("604475587asdfsf", false)]
[InlineData("444", false)]
[InlineData(null, false)]
public void IsValidAcn(string acn, bool expectedValidity)
{
var sut = GetSystemUnderTest();
Assert.True(sut.IsValidAcn(acn) == expectedValidity);
}
相關問題
- 1. 驗證BSB是有效的澳大利亞BSB號碼
- 2. jQuery驗證澳大利亞電話號碼
- 3. 澳大利亞電話號碼需要幫助驗證幫助
- 4. 正則表達式來驗證澳大利亞手機號碼
- 5. 使用Javascript驗證(澳大利亞)電話號碼
- 6. Django澳大利亞本地風味表單驗證
- 7. 澳大利亞信用卡地址驗證系統
- 8. 澳大利亞/墨爾本和澳大利亞/維多利亞州在NodaTime中是如何處理的?
- 9. 您將使用什麼規則來驗證澳大利亞電話號碼?
- 10. 如何使用html模式驗證澳大利亞電話號碼
- 11. 測試IP是否在澳大利亞
- 12. 如何糾正澳大利亞
- 13. Google CDN - 來自澳大利亞
- 14. Linq orderby culture(丹麥語,澳大利亞)
- 15. DateTime.Parse問題澳大利亞時區
- 16. GST問題澳大利亞店
- 17. 在澳大利亞域名主機
- 18. API爲澳大利亞郊區
- 19. OpenLayers與澳大利亞地圖開始
- 20. 對於澳大利亞號碼使用「tel:」的正確方法
- 21. 正則表達式澳大利亞的電話號碼爲Java
- 22. 失敗的驗證錯誤,同時呼籲澳大利亞郵政發貨API
- 23. 正則表達式澳大利亞電話號碼
- 24. 試圖從澳大利亞證券交易所網站表格
- 25. 如何股價從澳大利亞證券交易所取
- 26. C#DateTime.Parse忽略了在澳大利亞的CultureInfo
- 27. google.maps.Geocoder.geocode並不總是返回澳大利亞郵編
- 28. 澳大利亞郵政編碼API和php
- 29. 在澳大利亞項目中使用JodaTime
- 30. 在magento中添加澳大利亞餐桌價格