我在C#中创建了一个正则表达式,用于模型验证。我需要在JavaScript中相同。请帮我转换。将C#正则表达式转换为JavaScript正则表达式
这里是C#中的正则表达式
[Required]
[Display(Name = "Cost")]
[DataType(DataType.Currency)]
[RegularExpression(@"^(([a-zA-Z]+)|(\d{0,15}.\d{0,2}))$", ErrorMessage = "Cost can not have more than 2 decimal places.")]
[Range(typeof(Decimal), "0.01", "99999999999999.99", ErrorMessage = "{0} must be a decimal/number greater than 0 and less than 100000000000000.")]
public Nullable<decimal> Cost { get; set; }
还有一验证消息 “字段必须是数字”
我在JavaScript试图这样
var regExp = new RegExp("(([a-zA-Z]+)|(\d{0,15}.\d{0,2}))");
var res = regExp.test($('#Cost').val());
但是这总是返回真实
感谢
我建议使用JavaScript的内置正则表达式来避免字符串转义问题:'var regExp = /^(([a-zA-Z]+)|(\d{0,15}.\d {0,2}))$ /;' – cdhowie 2014-10-10 06:43:45