我在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