私はいくつかのことを試しましたが、それを機能させることができませんでした。私書箱を除外する必要があります。?! でラップする必要があると思っていましたが、機能していません。何かご意見は?
^((?i)[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]\s*(\d.))*$
編集:申し訳ありませんが、これは私が探しているものです。
例: 入力が「PO BOX」または「Post Office」の場合、正規表現を false にする必要があります。入力が 7821 テスト通りの場合、正規表現が true である必要があります。
ASP.net MVC プロジェクトで使用しようとしています
/// <summary>
/// Regex for street fields
/// </summary>
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
public class StreetAddressAttribute : RegularExpressionAttribute, IClientValidatable
{
/// <summary>
/// Regular expression validation for street field
/// </summary>
public StreetAddressAttribute()
: base(@"^(?!(?i)[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]\s*(\d.)*)$")
{
}
/// <summary>
/// Client side validation
/// </summary>
/// <param name="metadata">Modelmetadata</param>
/// <param name="context">ControllerContext</param>
/// <returns>Client-side validation rules</returns>
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
yield return new ModelClientValidationRule { ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()), ValidationType = "streetaddress" };
}
}
ご協力いただきありがとうございます