我试图在将数据插入表中之前验证CSV文件中包含的英国电话号码。当手机号码有效时,如果if语句不起作用,则代码不会跳转到else块。请参见下面的代码。 控制器代码
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> BulkMEssage(TextMessage messagedetail,
HttpPostedFileBase attachmentcsv,
MobileRecipient messagelink, int ddlshedule, string date)
{
if (ModelState.IsValid)
{
CsvFileDescription csvFileDescription = new CsvFileDescription
{
SeparatorChar = ',',
FirstLineHasColumnNames = true
};
CsvContext csvContext = new CsvContext();
StreamReader streamReader = new
StreamReader(attachmentcsv.InputStream);
IEnumerable<MobileRecipient> list =
csvContext.Read<MobileRecipient>(streamReader,
csvFileDescription);
foreach (var mobilenumber in list)
{
var phoneno = @"/^ (\+44\s ? 7\d{ 3}|\(? 07\d{ 3}\)?)\s ?\d{ 3}\s ?\d{ 3}$/";
if ((!mobilenumber.MobileNumber.Equals(phoneno)))
{
error message Here with the wrong format number
}
else
{
Insert Data in the database
}
}
}
我认为我使用错误的正则表达式。我的CSV文件中的列名称称为“ MobileNumber”。请建议您是否有更好的方法。