javascript - 我有输入文本框,应采用 $ 和 £ 货币符号,并在用户键入任何其他特殊字符时发出警告

标签 javascript regex validation currency

例如,$1.50、1.50、£4、3.4 应成功处理。其中 $ 或 % 或 # 或 !2.4 或 &45 应该给出警告(特殊字符)。

代码:(JS中)

 validatePrice : function(price){
        var regexPattern = '^(\\$)\[0-9]+(\.\?[0-9]+)?$';
        if (document.asset_edit_frm.price.value.search(regexPattern)== -1){
            alert('Not a valid currency format ');
            document.asset_edit_frm.price.focus();
            return false;
        }else return true;
    }

最佳答案

这将与您描述的模式匹配。

^(?:\$|\u00A3)?[0-9]+(?:\.(?=[0-9]))?[0-9]*$

顺便说一下,如果这是直接的 JavaScript,请按如下方式定义正则表达式:

var regexPattern = /^(?:\$|\u00a3)?[0-9]+(?:\.(?=[0-9]))?[0-9]*$/;

注意缺少'

关于javascript - 我有输入文本框,应采用 $ 和 £ 货币符号,并在用户键入任何其他特殊字符时发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335889/

相关文章:

javascript - 如何使用 JS 将文本文件转换为 CSV 文件,同时保持文本文件格式?

javascript - 使用jquery为rails生成button_to标签

c++ - QT中使用贪婪正则表达式删除字符串

ruby-on-rails - 如何允许正则表达式为空?

javascript - react -Redux : Copying an array from the state in Reducer function so that you can modify it

javascript - JS Bitwise - Math.random() * 2 被解释为 0 和 1 以进行按位或 (|) 运算的规则是什么?

regex - Vim 正则表达式 : overwritten back references?

正则表达式匹配两个字符串之间最后一次出现的位置

php - IP 地址的正则表达式负向前瞻

使用@Valid 进行 Spring 验证