2016-11-09 2 views

ответ

0

Ну, похоже, вам просто нужно удалить (? часть и соответствие )

/^\+1\([0-9]{3}\)-[0-9]{3}-[0-9]{4}$/ 

Это будет соответствовать +1(320)-924-2043 правильно

0

Там есть хороший сервис, где вы можете проверить регулярное выражение. Ссылка http://regexr.com/.

это regularexp работа по этой схеме: /\+1\((\d){3}\)-(\d){3}-(\d){4}/

0

Ваше регулярное выражение работы: /^+1(?([0-9]{3}))-[0-9]{3}-[0-9]{4}$/

var component = { 
 
    input : $('input[name="number"]'), 
 
    mensage : { 
 
     fields : $('.msg'), 
 
     success : $('.success'), 
 
     error : $('.error') 
 
    } 
 
}, 
 
    regex = /^\+1\([0-9]{3}\)-[0-9]{3}-[0-9]{4}$/; 
 

 
component.input.keyup(function() { 
 
    component.mensage.fields.hide(); 
 
    regex.test(component.input.val()) ? component.mensage.success.show() : component.mensage.error.show(); 
 
});
.msg { 
 
    display: none; 
 
} 
 
.error { 
 
    color: red; 
 
} 
 
.success { 
 
    color: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<input id="number" name="number" type="text" class="required" /> 
 
<span class="msg error">You shall not pass!</span> 
 
<span class="msg success">You can pass!</span>

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