2015-04-27 3 views
0

мне нужно ограничить другие символы, чемРазрешить альфа-цифровые и некоторые специальные символы

[A-Z, a-z, 0-9, _, @, #] 

Мне нужно, чтобы обернуть это в «OnKeyPress» и «ONBLUR» для обработки копирования/вставки значения , поэтому, если для вышеупомянутого сценария есть regex, обновите Plz.

До сих пор, у меня есть что-то вроде этого

$(document).on('keypress onblur', "#Login", function() { 
var checkString = $("#Login").val(); 
if (checkString != "") { 
    if (/[^[email protected]#\d]/.test(checkString)) { 
     alert("Please enter only letter and numeric characters"); 
     $("#Login").focus(); 
     return false; 
    } 
} 
}); 

Приведенный выше код не работал должным образом с заданным условием.

+3

Событие «размытие», а не 'onblur' –

ответ

0

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

/^([[email protected]_#]+|[[email protected]_#]+)$/.test(string) 

[[email protected]_#]+ будет соответствовать всем номерам с разрешенными специальными символами | ИЛИ [[email protected]_#] будут соответствовать всем алфавитам с разрешенными специальными символами.

Regex Visualization

Demo

document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("Tushar") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('Tushar')); // True 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("[email protected]#") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('[email protected]#')); // True 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("12345") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('12345')); // True 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("[email protected]#_447") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('[email protected]#_447')); // True 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("tushar1234") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('tushar1234')); // False 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("tushar_1234") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('tushar_1234')); // False 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("[email protected]") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('[email protected]')); // False 
 
document.write('<br />/^([[email protected]_#]+|[[email protected]_#]+)$/.test("[email protected]") = ' + /^([[email protected]_#]+|[[email protected]_#]+)$/.test('[email protected]')); // False

+0

Мне нужно разрешить пользователю вводить полные альфа-или полные числовые или буквенно-цифровые символы с определенными специальными символами. Нет ограничений на ввод только буквенно-цифровых. – DonMax

+0

Любое ограничение на наличие специальных символов? Как и в начале или конце – Tushar

+0

Нет ограничений, кроме указанных выше. – DonMax

0

Вы souldn't ставить^в своем регулярном выражении в противном случае вы будете предназначаться только строки, которые начинаются с рисунка и не thoses, которые содержат его ,

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