山东雷驰
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

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));
}
}
}