2015-11-13 2 views
0

Я пишу функцию Javascript для проверки ввода пользователя. Условие состоит в том, что данные должны иметь по крайней мере одно число.JavaScript isNumeric function

var userName = "abcde200" 

function isNumeric(userName){ 
    userName = parseInt(userName); 
    userName = !isNaN(userName); 
    return userName; 
} 

Функция возвращает «истина», когда значение начинается с номера, как: «200abcde», но не возвращает «истинное» значение с тем, если цифры между альфа или в конце. Я знаю, это можно сделать легко с регулярным выражением, но я хочу достичь этого без регулярного выражения.

Примечание: здесь есть много похожих вопросов, но никто из них не работал, чтобы решить мой случай.

+0

См. Вторую часть [этого ответа SO] (http://stackoverflow.com/a/5778071/2397327). –

+0

Он сказал, что не хочет использовать регулярные выражения. – saadq

+1

Используйте регулярное выражение. Это намного проще. Альтернатива заканчивается гораздо большим количеством кода. – slebetman

ответ

1

Если вы не хотите использовать регулярные выражения, вы можете разделить строку на массив символов, а затем проверить символы, чтобы увидеть, хотя бы один из них является числом с помощью метода some().

function isNumeric(userName) { 
    return userName.split('').some(function(c) { 
    return !isNaN(c); 
    }); 
} 

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