function ClientContactCheck(){
    var clientcontact = $("#client_contact_id").val();

    if(clientcontact.length != ""){
    if(!isNaN(clientcontact)){
        $("#client_contact_id").css('border-color', "#dfe0e6");
        return true;
    }
    }else{
        $("#client_contact_id").css('border-color', "red");
    }

return false;
}

Я использую эту функцию для проверки номера телефона, мое намерение простое, но не пустое и должно быть числом.

Но если поставить! isNaN и мой ввод был 123-456-789, он не будет действительным, потому что - не было число, как я могу сделать мою функцию обойти -?

Так что если входное значение имеет - оно пройдет.

Поблагодарить

0
Jung 17 Дек 2015 в 17:24

3 ответа

Лучший ответ

Вы можете проверить это с помощью регулярного выражения:

var clientcontact = $("#client_contact_id").val();
if (/^[0-9\-]+$/.test(clientcontact)) {
    $("#client_contact_id").css('border-color', "#dfe0e6");
    return true;
} else {
    $("#client_contact_id").css('border-color', "red");
    return false;
}

Это позволит '-', '--', '---' тоже. Если это нежелательно, вы можете сделать еще одну проверку: ... && !/^-*$/.test(clientcontact)

0
Tamas Hegedus 17 Дек 2015 в 14:44

Вы можете сделать что-то подобное, чтобы подтвердить номер телефона.

function phonenumber(inputtxt)
{
  var phoneno = /^\+?([0-9]{2})\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/;
  if((inputtxt.value.match(phoneno))
        {
      return true;
        }
      else
        {
        alert("message");
        return false;
        }
}

Больше на http://www.w3resource.com/javascript/form/phone -по - validation.php

0
Raja Anbazhagan 17 Дек 2015 в 14:28

Вы можете использовать :

 str.replace("-", "");

А затем проверьте ваш ввод, если это только число.

Редактировать:

var res = str.replace(/\-/g,'');
1
Grigoris Dimopoulos 17 Дек 2015 в 14:54