programing

HTML에 minlength validation 속성이 있습니까?

minimums 2023. 4. 8. 08:18
반응형

HTML에 minlength validation 속성이 있습니까?

그런 것 같아요minlength<input>필드가 작동하지 않습니다.

HTML에서 필드의 최소 길이를 설정할 수 있는 다른 속성이 있습니까?

속성을 사용할 수 있습니다.속성도 필요합니다.그렇지 않으면 값이 비어 있는 입력 필드는 제약 조건 유효성 검사에서 제외됩니다.

<input pattern=".{3,}"   required title="3 characters minimum">
<input pattern=".{5,10}" required title="5 to 10 characters">

패턴을 "empty, or minimum length"에 사용하는 옵션을 작성하려면 다음을 수행합니다.

<input pattern=".{0}|.{5,10}" required title="Either 0 OR (5 to 10 chars)">
<input pattern=".{0}|.{8,}"   required title="Either 0 OR (8 chars minimum)">

있습니다.minlength현재 HTML5 사양의 속성validity.tooShort인터페이스입니다.

현재 모든 최신 브라우저의 최신 버전에서 둘 다 사용할 수 있습니다.자세한 내용은 https://caniuse.com/#search=minlength를 참조하십시오.

다음은 HTML5 전용 솔루션(최소 길이 5, 최대 길이 10자 검증 필요)

http://jsfiddle.net/xhqsB/102/

    <form>
      <input pattern=".{5,10}">
      <input type="submit" value="Check"></input>
    </form>

네, 여기 있습니다.max length 같아요.W3.org 매뉴얼:http://www.w3.org/TR/html5/forms.html#attr-fe-minlength

.minlength돼요,안요.pattern@Pumbaa80의 Atribute에 .input붙이다

텍스트 영역의 경우:최대값 설정 시 사용maxlengthmin의 경우링크로 이동합니다.

최대값과 최소값 모두 여기에 있습니다.

및 를 maxlength와 minlength를 사용하지 않고 하였습니다.requiredHTML5 html html 、 [ HTML5 。

<input id="passcode" type="password" minlength="8" maxlength="10">

`

minlengthAtribute는 현재 대부분의 브라우저에서 폭넓게 지원됩니다.

<input type="text" minlength="2" required>

그러나 다른 HTML5 기능과 마찬가지로 이 파노라마에서는 IE11이 누락되어 있습니다. 폭넓은 베이스가 는, 「IE11」의 을 .pattern대부분의 브라우저(IE11 포함)에서 거의 전반적으로 지원되는 HTML5 속성.

균일한 HTML을 에 따라 (HTML)에 합니다.pattern★★★★

<input type="text" pattern=".{2,}" required>

사용 시 아직 약간의 사용 편의성이 있습니다.pattern사용자에게는 직관적이지 않은(매우 일반적인) 오류/경고 메시지가 표시됩니다.pattern. 다음 jsfiddle 또는 아래를 참조하십시오.

<h3>In each form type 1 character and press submit</h3>
</h2>
<form action="#">
  Input with minlength: <input type="text" minlength="2" required name="i1">
  <input type="submit" value="Submit">
</form>
<br>
<form action="#">
  Input with patern: <input type="text" pattern=".{2,}" required name="i1">
  <input type="submit" value="Submit">
</form>

예를 들어 Chrome(대부분의 브라우저에서는 유사)에서는 다음과 같은 오류 메시지가 나타납니다.

Please lengthen this text to 2 characters or more (you are currently using 1 character)

를 사용하여minlength...

Please match the format requested

를 사용하여pattern.

Chrome에서는 자동 채우기가 켜져 있고 자동 채우기 브라우저 빌트인 메서드에 의해 필드가 입력되어 있을 때 minlength 검증 규칙을 생략할 수 있습니다.따라서 이 경우 다음 특성에 의해 자동 채우기를 비활성화해야 합니다.

자동완료="오프"

<input autocomplete="new-password" name="password" id="password" type="password" placeholder="Password" maxlength="12" minlength="6" required />

minLength 속성(maxLength와 달리)은 HTML5에 기본적으로 존재하지 않습니다. 단, 필드에 포함된 문자가 x자 미만인 경우 필드를 검증할 수 있는 몇 가지 방법이 있습니다.

다음 링크에서 jQuery를 사용하는 예를 나타냅니다.http://docs.jquery.com/Plugins/Validation/Methods/minlength

<html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
        <script type="text/javascript">
            jQuery.validator.setDefaults({
                debug: true,
                success: "valid"
            });;
        </script>

        <script>
            $(document).ready(function(){
                $("#myform").validate({
                    rules: {
                        field: {
                            required: true,
                            minlength: 3
                        }
                    }
                });
            });
        </script>
    </head>

    <body>
        <form id="myform">
            <label for="field">Required, Minimum length 3: </label>
            <input class="left" id="field" name="field" />
            <br/>
            <input type="submit" value="Validate!" />
        </form>
    </body>

</html>

HTML5는 아니지만 실용적인 기능: AngularJS를 사용할 경우 (또는data-ng-minlength입력 영역과 텍스트 영역 모두 ).'플랭크'도 참조해 주세요.

jQuery를 사용한 텍스트 영역 솔루션과 HTML5를 조합하는 솔루션에서는 최소 길이를 확인하기 위해 검증이 필요했습니다.

최소 길이.표준

$(document).ready(function(){
  $('form textarea[minlength]').on('keyup', function(){
    e_len = $(this).val().trim().length
    e_min_len = Number($(this).attr('minlength'))
    message = e_min_len <= e_len ? '' : e_min_len + ' characters minimum'
    this.setCustomValidity(message)
  })
})

HTML

<form action="">
  <textarea name="test_min_length" id="" cols="30" rows="10" minlength="10"></textarea>
</form>

http://caniuse.com/ #search=minlength 를 참조해 주세요.일부 브라우저는 이 속성을 지원하지 않을 수 있습니다.


"type" 값이 다음 중 하나일 경우:

텍스트, 이메일, 검색, 비밀번호, 전화 또는 URL(경고: number 포함 안 함 | now now browser support "tel" - 2017.10)

minlength(/ maxlength) 속성을 사용합니다.최소 문자 수를 지정합니다.

예를들면,

<input type="text" minlength="11" maxlength="11" pattern="[0-9]*" placeholder="input your phone number">

또는 "pattern" 속성을 사용합니다.

<input type="text" pattern="[0-9]{11}" placeholder="input your phone number">

"type"이 숫자인 경우 minlength(/ max length)는 지원되지 않지만 min(/ max) 속성을 대신 사용할 수 있습니다.

예를들면,

<input type="number" min="100" max="999" placeholder="input a three-digit number">

새 버전:

사용(텍스트 영역 및 입력)을 확장하고 버그를 수정합니다.

// Author: Carlos Machado
// Version: 0.2
// Year: 2015
window.onload = function() {
    function testFunction(evt) {
        var items = this.elements;
        for (var j = 0; j < items.length; j++) {
            if ((items[j].tagName == "INPUT" || items[j].tagName == "TEXTAREA") && items[j].hasAttribute("minlength")) {
                if (items[j].value.length < items[j].getAttribute("minlength") && items[j].value != "") {
                    items[j].setCustomValidity("The minimum number of characters is " + items[j].getAttribute("minlength") + ".");
                    items[j].focus();
                    evt.defaultPrevented;
                    return;
                }
                else {
                    items[j].setCustomValidity('');
                }
            }
        }
    }
    var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
    var isChrome = !!window.chrome && !isOpera;
    if(!isChrome) {
        var forms = document.getElementsByTagName("form");
        for(var i = 0; i < forms.length; i++) {
            forms[i].addEventListener('submit', testFunction,true);
            forms[i].addEventListener('change', testFunction,true);
        }
    }
}

다음은 @user123444555621 핀 응답입니다.

게 요.minlengthHTML5 Attribute 。

가, 입력 타입의 텍스트를 않는 .minlength="3"★★★★★★★★★★★★★★★★★★.

「 」를 해 주세요.pattern나는 내 문제를 가까스로 해결했다.다음은 패턴을 사용하여 minlength 검증을 수행하는 예입니다.

const folderNameInput = document.getElementById("folderName");

folderNameInput.addEventListener('focus', setFolderNameValidityMessage);
folderNameInput.addEventListener('input', setFolderNameValidityMessage);

function setFolderNameValidityMessage() {
  if (folderNameInput.validity.patternMismatch || folderNameInput.validity.valueMissing) {
      folderNameInput.setCustomValidity('The folder name must contain between 3 and 50 chars');
  } else {
      folderNameInput.setCustomValidity('');
  }
}
:root {
  --color-main-red: rgb(230, 0, 0);
  --color-main-green: rgb(95, 255, 143);
}

form input {
  border: 1px solid black;
  outline: none;
}

form input:invalid:focus {
  border-bottom-color: var(--color-main-red);
  box-shadow: 0 2px 0 0 var(--color-main-red);
}

form input:not(:invalid):focus {
  border-bottom-color: var(--color-main-green);
  box-shadow: 0 2px 0 0 var(--color-main-green);
}
<form>
  <input
    type="text"
    id="folderName"
    placeholder="Your folder name"
    spellcheck="false"
    autocomplete="off"
    
    required
    minlength="3"
    maxlength="50"
    pattern=".{3,50}"
  />
  <button type="submit" value="Create folder">Create folder</button>
</form>

상세한 것에 대하여는, HTML 패턴 어트리뷰트에의 MDN 링크를 참조해 주세요.

이 JavaScript 코드 [minlength.js]를 작성했습니다.

window.onload = function() {
    function testaFunction(evt) {
        var elementos = this.elements;
        for (var j = 0; j < elementos.length; j++) {
            if (elementos[j].tagName == "TEXTAREA" && elementos[j].hasAttribute("minlength")) {
                if (elementos[j].value.length < elementos[j].getAttribute("minlength")) {
                    alert("The textarea control must be at least " + elementos[j].getAttribute("minlength") + " characters.");
                    evt.preventDefault();
                };
            }
        }
    }
    var forms = document.getElementsByTagName("form");
    for(var i = 0; i < forms.length; i++) {
        forms[i].addEventListener('submit', testaFunction, true);
    }
}

하고 파이어폭스(43.0.는 파이어폭스(43.0.4)를 사용하고 있습니다.minlength ★★★★★★★★★★★★★★★★★」validity.tooShort아쉽게도 사용할 수 없습니다.

계속하려면 최소 길이만 저장하면 되므로 이 값을 입력 태그의 다른 유효한 속성에 할당하는 것이 쉽고 편리합니다. 쓰면 요.min,max , , , , 입니다.step[type="number"] 번호입니다.

어레이에 이러한 제한을 저장하는 것보다 어레이 인덱스와 일치하는 요소 ID를 얻는 것보다 동일한 입력에 저장된 제한을 쉽게 찾을 수 있습니다.

max와 min을 사용하여 요구했는데, 매우 효과가 있었습니다만, 이것이 코딩 방식인지 아닌지는 잘 모르겠습니다.

<input type="text" maxlength="13" name ="idnumber" class="form-control"  minlength="13" required>

이 동작을 하려면 , 항상 입력 필드에 작은 프리픽스를 표시합니다.그렇지 않으면 사용자가 프리픽스를 지울 없습니다.

   // prefix="prefix_text"
   // If the user changes the prefix, restore the input with the prefix:
   if(document.getElementById('myInput').value.substring(0,prefix.length).localeCompare(prefix))
       document.getElementById('myInput').value = prefix;

사용할 수 있습니다.minlength입력 태그 또는 regex 패턴을 사용하여 문자 수를 확인할 수 있습니다.또, 입력을 받아 문자 길이를 체크하고, 필요에 따라서 제한할 수도 있습니다.

최대 길이를 실현하는 가장 스마트한 방법

$("html").on("keydown keyup change", "input", function(){
    var maxlength=$(this).attr('maxlength');    
    if(maxlength){  
        var value=$(this).val();
        if(value.length<=maxlength){
            $(this).attr('v',value);
        }
        else{
            $(this).val($(this).attr('v'));
        }   
    }
});     
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" maxlength="10">

다음 태그에 숫자를 사용했습니다.

<input type="tel" class="form-control" name="Extension" id="Extension" required maxlength="4" minlength="4" placeholder="4 Digits" />

최대값과 최소값을 모두 추가합니다.허용되는 값의 범위를 지정할 수 있습니다.

<input type="number" min="1" max="999" />

언급URL : https://stackoverflow.com/questions/10281962/is-there-a-minlength-validation-attribute-in-html

반응형