WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数
Posted wangyan89smile
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数相关的知识,希望对你有一定的参考价值。
正则:^(0.d+|[1-9][0-9]|1)$
TextBox绑定正则验证
<TextBox x:Name="txb" MaxLength="6" Margin="1 0 0 0" Width="40" >
<TextBox.Text>
<Binding Path="Opacity" ValidatesOnExceptions="True" ValidatesOnDataErrors="True" StringFormat="F2"
Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" >
<Binding.ValidationRules>
<shared1:InventoryValidationRule InventoryPattern="^(0.d+|[1-9][0-9]|1)$"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
用到的InventoryValidationRule类:
public class InventoryValidationRule : ValidationRule
{
#region Properties
public string InventoryPattern { get; set; }
#endregion Properties
#region Methods
public override ValidationResult Validate(
object value, CultureInfo cultureInfo)
{
if (InventoryPattern == null)
return ValidationResult.ValidResult;
if (!(value is string))
return new ValidationResult(false,
"Inventory should be a comma separated list of model numbers as a string");
string[] pieces = value.ToString().Split(‘,‘);
Regex m_RegEx = new Regex(InventoryPattern);
foreach (string item in pieces)
{
Match match = m_RegEx.Match(item);
if (match == null || match == Match.Empty)
return new ValidationResult(
false, "Invalid input format");
}
return ValidationResult.ValidResult;
}
#endregion Methods
}
以上是关于WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数的主要内容,如果未能解决你的问题,请参考以下文章
如何有js正则来 验证 大于等于零,最多可以有两位的小数,且少于999.99