2010-12-04 4 views
0

привет всем, кто может мне помочь, указав код javascript для проверки имени пользователя в текстовом поле, не должен содержать чисел, он должен содержать только символ.Проверка javascript

ответ

0

Метод 1: isNaN

addEvent(document.getElementById('myForm'), 'submit', function() { 
    var val = document.getElementById('myInput').value; 
    if (isNaN(val) || val.indexOf('.') !== val.lastIndexOf('.') || val.split('.')[1].length > 2) { 
     alert('myInput can only contain numbers!'); 
    } 
}); 

Способ 2: Regexp

addEvent(document.getElementById('myForm'), 'submit', function() { 
    var val = document.getElementById('myInput').value; 
    if (!/^\d+\.?\d{0,2}$/.test(val) || val.charAt(-1) == '.') { 
     alert('myInput can only contain numbers!'); 
    } 
}); 

Способ 3: разрешить только ввод номера

addEvent(document.getElementById('myInput'), 'keyup', function() { 
    // replace everything except digits and a decimal place on every keypress 
    this.value = parseFloat(this.value).toFixed(2); 
}); 

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

Вот моя addEvent функция Я использовал для обработки событий кросс-браузер, потому что IE < 9 поддерживает только attachEvent и другие браузеры поддерживают только addEventListener.

function addEvent(element, eventType, eventHandler) { 
    if (window.addEventListener) { 
     element.addEventListener(eventType, eventHandler, false); 
    } else { 
     element.attachEvent('on'+eventType, eventHandler); 
    } 
} 

Update: теперь только две цифры допускается после десятичного знака.

2

Использование регулярных выражений:

(\d)+ 

Если у вас есть матч, вы получили номер в вашей строке.

+0

+1 Regex - лучший способ пройти проверку, ИМХО. – Liam 2010-12-04 16:24:44

-1

Попробуйте это:

if(!/\d*/.test(userName)) 
{ 
    //do something.. 
} 
Смежные вопросы