2015-12-17 2 views
0
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

Прежде всего, '(clientcontact.length! =" ")' Всегда будет истинным с 'clientcontact.length', поскольку метод' length' возвращает целое число – mic4ael

ответ

0

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

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)

1

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

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

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

Edit:

var res = str.replace(/\-/g,''); 
+1

Это удаляет только первый дефис –

+0

Используйте его так: var res = str.replace (/ \ -/g, ''); –

0

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

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-no-validation.php

Смежные вопросы