I am looking for a way to all for custom currency validation using native magento validate.js

I have a form which allows users to add custom prices to a text field. I am using the following classes to validate the inputs:



The problem is the text field is pre-populated with the currency sign £ so will not pass validation.

I have tried to adapt the validate-currency-dollar class but the test still fails

Validation.add('validate-currency-dollar', 'Please enter a valid $ amount. For example $100.00.', function(v) {
    // [$]1[##][,###]+[.##]
    // [$]1###+[.##]
    // [$]0.##
    // [$].##
    return Validation.get('IsEmpty').test(v) ||  /^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)

Has anyone done this before can share some advice please?

1 Answer 1


I have changed a bit regular expression


Try it instead of standard ones.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.