只允许数字字段的符号?

时间:2011-09-09 15:01:59

标签: jquery jquery-validate

我正在使用低音形式验证。我有几个字段只需要数字,但不包括像$,(,), - ,*等符号被允许,我需要这些字段,如价格和电话号码。任何人都知道一个方法或插件或其他什么来解决这个问题?

更新

基本上,我需要一个功能,说“不允许文字”,并允许使用符号和数字。

另一次更新

找到一个不允许单独使用文本的功能。但如果有符号,它也允许文本。有什么方法可以限制任何文字吗?

jQuery.validator.addMethod(
  "symbols",
  function(value,element){
    var hNum=/[^a-z\s-]/;
    var inp=jQuery.trim(element.value).toLowerCase();
    if(hNum.test(inp)) {    return true;
    }
    else return false;
    },
    "Number and symbols are only allowed."
  );

3 个答案:

答案 0 :(得分:2)

我为它写了一个小功能......

function is_digit(value) {

    return String(value).search(/^\s*\d+\s*$/) != -1;

}

当然,您可以根据需要进行调整。 :)

修改

以下是其他有用的注册表:

  • 是整数:/^\s*(\+|-)?\d+\s*$/
  • 是十进制数:/^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/

答案 1 :(得分:1)

根据他们的文档,已经validation methods可以执行以下验证:decimal numbersdigitsphone numbers

* *编辑:在这种情况下,您似乎想要创建自定义验证。有一个名为addMethod的方法,它使用回调函数添加自定义验证,如daGrevis创建的那样。

示例:

jQuery.validator.addMethod("isdigit", function(value, element) {
        return /[\d()-.\$]/.test(value); 
    }, "Numbers and symbols only allowed"
);

答案 2 :(得分:0)

好吧,您可以尝试完全不同的验证方法。

我个人最喜欢的是使用HTML5的验证,并使所有浏览器生效/扩展其功能。

http://ericleads.com/h5validate/