2014-12-09 5 views
1

Я использую валидатор bootstrap v3.1.1, и я пытаюсь добавить проверку регулярного выражения для текстового поля. Я хочу, чтобы пользователь не вводил пробел '', но вместо ввода букв, цифр и подчеркивания '_' в текстовом поле. Вот мой код JS:Бутстрап валидатор. Regex no space

$(document).ready(function() { 
    $('#myForm').bootstrapValidator({ 
     fields: { 
      'myTextBox': { 
       validators: { 
        regexp: { 
         regexp: /^[a-z\s_0-9]+$/i, 
         message: 'You can introduce just alphabetical characters, underscore, number but no spaces' 
        } 
       } 
      } 
     } 
    }); 
}); 

Пожалуйста, помогите мне. Каков наилучший способ сделать это? Благодарю.

ответ

4

\s Означает «пространство», и вы включаете его в класс символов, поэтому он позволяет это. Удалите его, и все должно быть хорошо. Кроме того, ваше регулярное выражение может быть просто

regexp: /^[\w]+$/ 

в \w = [A-Za-z0-9_]

1

у вас есть \s, который anyspace, если вы хотите, чтобы предотвратить с помощью пробелов использовать \S вместо.

, чтобы убедиться, что у вас нет места, и все, что вы можете сделать, не тест:

/^\S+$/ 

^ = С самого начала

+ = один или более

$ = К end

+0

да, таким образом это позволяет%^& * (# $ и еще много символов, которые OP не хочет –

+0

true, это только без пробелов. – kigiri

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