检查如果仅在输入中输入了数值。 (jQuery的)

时间:2012-01-31 20:08:26

标签: javascript jquery

我想在jQuery的帮助下检查用户是否输入了正确的电话号码,到目前为止我已经到了这个阶段:

var phone = $("input#phone").val();
if (phone !== "") {
    //Check if phone is numeric
    $("label#phone_error").show(); //Show error
    $("input#phone").focus(); //Focus on field
    return false;
}

基本上它检查是否输入了电话号码,如果是,我想检查它是否是数字值,如果没有显示错误消息。 任何人都可以帮助检查它是否是数字?

10 个答案:

答案 0 :(得分:59)

试试这个...它会确保字符串“phone”只包含数字,并且至少包含一位数

if(phone.match(/^\d+$/)) {
    // your code here
}

答案 1 :(得分:23)

jQuery中有一个内置函数来检查这个(isNumeric),所以请尝试以下方法:

var phone = $("input#phone").val();
    if (phone !== "" && !$.isNumeric(phone)) {
  //Check if phone is numeric
  $("label#phone_error").show(); //Show error
  $("input#phone").focus(); //Focus on field
  return false;
}

答案 2 :(得分:3)

http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS

检查出来。它应该是你正在寻找的。 jQuery的美国手机验证插件。

如果你想自己做,你将会有大量的工作。查看isNaN()功能。它告诉你它是不是一个数字。您还需要了解正则表达式以进行验证。如果您正在使用RegEx,那么您可以不使用isNaN(),因为您无论如何都会对此进行测试。

答案 3 :(得分:3)

我用过这个:

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, ""); 
return this.optional(element) || phone_number.length > 9 &&
    phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

答案 4 :(得分:2)

我用它来检查所有文本框是否都有数值:

if(!$.isNumeric($('input:text').val())) {
        alert("All the text boxes must have numeric values!");
        return false;
    }

或一个人:

$.isNumeric($("txtBox").val());

适用于jQuery 1.7。

答案 5 :(得分:2)

 if (!(/^[-+]?\d*\.?\d*$/.test(document.getElementById('txtRemittanceNumber').value))){
            alert('Please enter only numbers into amount textbox.')
            }
            else
            {
            alert('Right Number');
            }

我希望此代码可以为您提供帮助。

在此代码中,如果条件将返回true,如果存在任意数量的小数位数的任何合法十进制数。和警报将提出消息"正确的号码"另外,它会显示一条带有消息的警告弹出窗口"请仅在数量文本框中输入数字。"。

谢谢...:)

答案 6 :(得分:2)

您可以使用jQuery方法检查值是数字还是其他类型。

class Animal{

    let animal :String

    enum Gender{

        case male
        case female
        case undefined
    }

    init(animal : String) {
        self.animal = animal
    }

    func eat(){
        print("I eat everyyhing")
    }
}

class Elephant : Animal{

    override func eat() {
        print("I eat grass")
    }
}

class Tiger : Animal{

    override func eat() {
        print("I eat meat")
    }
}

class Horse : Animal{

    override func eat() {
        print("I eat grass, too")
    }
}

class Zoo {

    var weekHot : A
    init(weeklyHot : A ){}
}

let zoo = Zoo(weeklyHot:Tiger())
zoo.weeklyHot = tiger

示例

$.isNumeric()

true

$.isNumeric("46")

true

$.isNumeric(46)

false

答案 7 :(得分:1)

对于将来的访问者,您可以添加此功能,允许用户只输入数字:您只需要在输入中添加jquery和类名,然后检查http://jsfiddle.net/celia/dvnL9has/2/

$('.phone_number').keypress(function(event){
var numero= String.fromCharCode(event.keyCode);
 var myArray = ['0','1','2','3','4','5','6','7','8','9',0,1,2,3,4,5,6,7,8,9];
index = myArray.indexOf(numero);// 1
var longeur= $('.phone_number').val().length;
if(window.getSelection){
 text = window.getSelection().toString();
 } if(index>=0&text.length>0){
  }else if(index>=0&longeur<10){
    }else {return false;} });

答案 8 :(得分:1)

我使用了这种验证....检查粘贴的文本,如果它包含字母,则为用户显示错误,然后在延迟后清除该框,以便用户检查文本并进行适当的更改。

$('#txtbox').on('paste', function (e) {
            var $this = $(this);
            setTimeout(function (e) {
                if (($this.val()).match(/[^0-9]/g))
                {
                    $("#errormsg").html("Only Numerical Characters allowed").show().delay(2500).fadeOut("slow");                       
                    setTimeout(function (e) {
                        $this.val(null);
                    },2500);
                }                   
            }, 5);
        });

答案 9 :(得分:0)

这不是问题的准确答案,但电话验证的另一个选项是确保以您期望的格式输入数字。

这是我已经处理的一个函数,当设置为<input oninput="formatPhone()">事件时,将删除任何非数字输入,并在&#34;右边&#34;自动插入破折号。点,假设xxx-xxx-xxxx是所需的输出。

function formatPhone(e) { var x = e.target.value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/); e.target.value = !x[2] ? x[1] : x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : ''); }

{{1}}