2013-02-21 2 views
-2

У меня есть текстовое поле HTML5 для данного имени (имя).Ввод текста HTML, числовое число

<input name="name" id="name" autocompletetype="given-name" type="text" alt="" maxlength="16" required/> 

Некоторые пользователи здесь вводят пароль. Поэтому я хочу предотвратить некоторые из них, не допуская числа. Как я это сделаю? Итак, я хочу только английские и турецкие буквы плюс - и ' для любого случая, ох и этих â, Â, ê .. для любого случая. Лучше всего не допускать числа, которые я предполагаю, но есть ли такой способ?

+0

Используйте события ключевых событий javascript, чтобы проверить, является ли введенный символ числом. –

+2

У вас серьезная проблема UX, если ваши пользователи вводят пароли в поле firstname. Пожалуйста, подумайте о том, чтобы зафиксировать *, что * вместо того, чтобы запрещать номера в поле имени (или как еще будет записываться «Edward the 2nd von Munchhausen»: D) – Jeroen

ответ

1

Я собираюсь предположить, что вы можете использовать javascript/jQuery.

Обратите внимание, что я не уверен, что последовательность букв ниже охватывает только турецкие письма/все турецкие буквы. Тем не менее, это довольно исчерпывающий список писем, используемых на разных языках.

Тогда:

 $('#name').on('change', function(){ 
      if(/^[a-zA-Z\- ’'‘ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ]$/.test($(this).val())){ 
       $(this).removeClass('invalidField'); 
       $(this).addClass('validField'); 
      } else { 
       $(this).addClass('invalidField'); 
       $(this).removeClass('validField'); 
      } 
     }); 

И затем использовать CSS для обозначения полех действительный/недействительной. (Например, красная рамка для недопустимых полей)