Как проверить входные значения, чтобы найти, если символ существует более х раз? - PullRequest
0 голосов
/ 26 апреля 2018

Проверка ввода с помощью js или jquery, мне нужно иметь возможность отображать сообщение об ошибке, если значение этого ввода содержит этот символ '&' более одного раза, дважды или в любое другое время, которое я хочу. Есть ли простой или эффективный способ сделать это с помощью js?

            var name = $('input').val();
            if (name.length < 2 || name== "&&" ) {
                this.mensajeria("invalid search \n");
                return false;
                console.log("something went wrong");
            }else{
                console.log("everything it's ok");
            }

этот ввод используется для имен физических лиц или компаний, поэтому мне нужно разрешить этому пользователю вставлять '&', но их не может быть много.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Попробуйте использовать Sting.match

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

$('#submitMyTextBox').click(function() {
  var str = $('#myTextBox').val();
  var regexp = /[\&]/gi;
  var matches_array = [];
  var count = 0;
  var message = "";

  matches_array = str.match(regexp);
  matches_array === null ? count = 0 : count = matches_array.length;
  count > 1 ? message = "More than 1 '&'' found." : message = "everything it's ok";

  $('#message').html(message);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="text" id="myTextBox">
<button id="submitMyTextBox">Submit</button>

<div id="message"></div>
0 голосов
/ 26 апреля 2018

попробуй вот так

$(function(){
	check();
	$('input').on('change keyup keydown',function(){
		check();		
	});		
});
function check(){
	var name = $('input').val();
	if(name.replace(/[^&]+/g,'').length > 1){
		console.log("something went wrong");
		return false;
	}else{
		 console.log("everything it's ok");
	}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="abc && as &"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...