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.
34 lines
1.1 KiB
34 lines
1.1 KiB
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));
|
|
}
|
|
}
|
|
}
|