我想用jquery验证输入。问题是jquery似乎只使用最后一个输入字符,不包括之前输入的字符。 请看一下我的短代码片段。
$(document).on('keyup', "input#signup_fname_input", function () {
var this_user_input = $("input[name='signup_fname_input']").val();
var onlytext_regexp = /[A-zА-яЁё]+$/;
if ((!onlytext_regexp.test(this_user_input)) && (this_user_input !== '') || (this_user_input.indexOf("[") != "-1") || (this_user_input.indexOf("]") != "-1") || (this_user_input.indexOf("\\") != "-1")) {
$('#feedback_message_signup1').css({
"visibility": "visible",
"color": "#CC0000"
});
$('#feedback_message_signup1').html("Недопустимый символ");
}
});
答案 0 :(得分:0)
尝试一下,我从if条件中删除了字符串值。这是某种if(无效),对吧?
$(document).on('keyup', "input#signup_fname_input", function () {
var this_user_input = $("input[id='signup_fname_input']").val();
var onlytext_regexp = /^[A-zа-яёЁ]+$/;
if ((!onlytext_regexp.test(this_user_input) && this_user_input !== '') || this_user_input.indexOf("[") !== -1 || this_user_input.indexOf("]") !== -1 || this_user_input.indexOf("\\") !== -1) {
$('#feedback_message_signup1').css({
"visibility": "visible",
"color": "#CC0000"
});
$('#feedback_message_signup1').html("Недопустимый символ");
}
});