Если я правильно понял ваши требования и вам нужно регулярное выражение для соответствия только по ссылке, указанной в профиле, следующее должно соответствовать вашему требованию:
^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$
<form>
<input pattern="^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$" />
<button>Submit</button>
</form>
[1112 ] Если вам нужно проверить, что вход является действительной ссылкой, и вставить ее где-нибудь в DOM, используя Jquery, вы можете сделать это следующим образом:
$(".user-linkedin").on('input', function(event) {
var validLink = /^http(s)?:\/\/(www\.)?linkedin\.com\/in\/.*$/.test(event.target.value)
? event.target.value
: '';
$(".linkedin-link")
.text(validLink || 'invalid link')
.attr("href", validLink);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="user-linkedin" />
<br>
Link: <a href="" class="linkedin-link"></a>
Используйте a do...while
цикл
ushort i = 0;
do
{
// do something
} while(i++ < UInt16.MaxValue);
Существует интересное обсуждение тестовых шлейфов наверху по сравнению с нижней частью здесь.
UInt16.MaxValue
оценивает к 0xffff
, нет 0x10000
. Я думаю, что можно сделать это с a do
/while
цикл, как вариация на ответ burkhard1979.
ushort i = 0;
do {
...
} while (++i != 0);
Вы могли просто заменить для циклом с условием продолжения.
ushort i = 0;
do
{
i++;
...
} while(i!=UInt16.MaxValue);
Предположение, что код страдает от прочь одной ошибкой (текущий код, остановки прежде, чем оценить окончательное значение. Затем следующее могло бы ответить Вам.
Очень простой, поскольку Ваш счетчик является целым числом без знака на 16 битов, он не может иметь значений, больше, чем 0xffff
, поскольку то значение все еще допустимо, у Вас должно быть некоторое значение, которое расширяется кроме того как защита. Однако добавление 1
кому: 0xffff
в 16 битах просто повторяется к 0
. Как предложено, любое использование делают цикл с условием продолжения (которому не нужно защитное значение), или используйте большее значение для содержания счетчика.
PS. Используя переменные на 16 битов на современных машинах на самом деле менее эффективно, чем использование переменных на 32 бита, поскольку никакой водосливный код не должен быть сгенерирован.
это должно быть короткое? почему не просто
for(int i = 0;i<=0xFFFF;i++)
{
//do whatever
}