javascript - 正则表达式的逆 (JavaScript/Titanium)

标签 javascript android regex titanium inverse

我在 Titanium 中有以下代码来检查用户输入是否为非数字:

textBox.addEventListener('change', function (e) {
    var patt = new RegExp('^\d+(\.\d{1,2})?$','gi');
    if (e.value.match(patt) != null) {
        //insert action here
    }
});

我个人希望在用户尝试输入非十进制字符时删除非十进制字符。但是,为了做到这一点,我需要使用 replace(inversePatt, "")。我想知道,如何获得正则表达式的反函数?

最佳答案

要删除非十进制字符,您应该能够匹配每个:

[^\.\d]

小组返回。

([^.\d] 应该有效 - 这里的点不需要转义)

括号内的克拉反转。 它的基本意思是“不是一个点或一个数字”。

查看:

http://www.scriptular.com

编辑: 我想这就是你的答案:

Restricting input to textbox: allowing only numbers and decimal point

编辑 2: 您还可以使用这个:

var success = /^\d*\.?\d{0,2}$/.test(input);

按照:

Limiting input field to one decimal point and two decimal places

您还可以要求小数点前有一个数字,如下所示:

var success = /^\d+\.?\d{0,2}$/.test(input); // uses + instead of *

关于javascript - 正则表达式的逆 (JavaScript/Titanium),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19663453/

相关文章:

php - jsonObject.getString ("String in UTF8") 给出空白

正则表达式 : Grouping in a group

r - 如何从列名中替换第二次或多次出现的点

android - 需要 Gradle 版本 1.10。当前版本是 2.0

javascript - Sys.Net.WebServiceProxy 的定义位置

javascript - React router dom 库不适用于我的项目

javascript - 如何加载 PEM 格式的公钥进行加密?

android - 如何在我自己的 Android 库中使用 Android 支持库

Javascript Regex 确保最后 3 个字符是数字?

javascript - 使用 JavaScript 操作哈希数组