You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.1 KiB
35 lines
1.1 KiB
3 months ago
|
using System.Text.RegularExpressions;
|
||
|
using System.Threading.Tasks;
|
||
|
|
||
|
namespace Kean.Infrastructure.Configuration
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 条码验证器
|
||
|
/// </summary>
|
||
|
public sealed class BarcodeValidator
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 验证条码是否合法
|
||
|
/// </summary>
|
||
|
/// <param name="barcode">条码内容</param>
|
||
|
/// <returns>如果合法,为 True;否则为 False</returns>
|
||
|
public Task<bool> Validate(string barcode)
|
||
|
{
|
||
|
//return Task.FromResult(barcode != null &&
|
||
|
// (barcode.StartsWith("#@") || Regex.IsMatch(barcode, "^[AB][0-9]{5}$")));
|
||
|
|
||
|
//return Task.FromResult(barcode != null &&
|
||
|
// Regex.IsMatch(barcode, "^T[CA][0-9]{3}-[0-9]{6}$"));
|
||
|
|
||
|
//return Task.FromResult(barcode != null &&
|
||
|
// Regex.IsMatch(barcode, "^M[2-3][A|C][0-9]{4}$"));
|
||
|
|
||
|
string pattern = @"^LC[A|B|C|D|E|F|G](\d{4}|\d{17})$";
|
||
|
Regex regex = new Regex(pattern);
|
||
|
|
||
|
return Task.FromResult(barcode != null &&
|
||
|
regex.IsMatch(barcode));
|
||
|
}
|
||
|
}
|
||
|
}
|