[javascript] JavaScript에서 문자열에 특정 문자가 포함되어 있는지 확인하는 방법은 무엇입니까?

사용자가 24 자 (문자 및 숫자, 대소 문자를 구분하지 않음) 등록 코드를 입력 해야하는 텍스트 상자가있는 페이지가 있습니다. 나는 maxlength사용자가 24자를 입력하도록 제한했다.

등록 코드는 일반적으로 대시로 구분 된 문자 그룹으로 제공되지만 사용자가 대시없이 코드를 입력하고 싶습니다.

jQuery없이 JavaScript 코드를 작성하여 사용자가 입력 한 주어진 문자열에 대시가 없거나 더 나은 영숫자 문자 만 포함되어 있는지 확인하려면 어떻게해야합니까?



답변

에서 “hello”를 찾으려면 your_string

if (your_string.indexOf('hello') > -1)
{
  alert("hello found inside your_string");
}

알파 숫자의 경우 정규식을 사용할 수 있습니다.

http://www.regular-expressions.info/javascript.html

알파벳 숫자 정규식


답변

ES6 .includes () 포함

"FooBar".includes("oo"); // true

"FooBar".includes("foo"); // false

"FooBar".includes("oo", 2); // false

E는 – 대신 당신이 물결표의 opperator 사용할 수 있습니다 IE에 의해 suported하지 않음 ~( 비트 단위 NOT 포함) ) (.indexOf를

~"FooBar".indexOf("oo"); // -2 -> true

~"FooBar".indexOf("foo"); // 0 -> false

~"FooBar".indexOf("oo", 2); // 0 -> false

Tilde 연산자는 숫자와 함께 사용하여 유효
~N => -(N+1)합니다. 부울로 숫자를 변환하려면 이중 부정 !!( Logical NOT ) 과 함께 사용하십시오 .

!!~"FooBar".indexOf("oo"); // true

!!~"FooBar".indexOf("foo"); // false

!!~"FooBar".indexOf("oo", 2); // false


답변

변수에 텍스트가있는 경우 foo:

if (! /^[a-zA-Z0-9]+$/.test(foo)) {
    // Validation failed
}

이렇게하면 사용자가 하나 이상의 문자를 입력 하고 영숫자 문자 입력했는지 테스트하고 확인합니다 .


답변

string (word / sentence …)에 특정 단어 / 문자가 포함되어 있는지 확인

if ( "write something here".indexOf("write som") > -1 )  { alert( "found it" );  } 


답변

ES6 에는 includesString ‘s에 내장 메소드 ( )가 prototype포함되어 있으며, string에 다른 문자열이 포함되어 있는지 여부를 확인하는 데 사용할 수 있습니다.

var str = 'To be, or not to be, that is the question.';

console.log(str.includes('To be')); 

지원되지 않는 브라우저에서 다음 방법을 사용하여이 방법을 추가 할 수 있습니다. ( 소스 )

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }

    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}


답변

이를 위해서는 정규식을 사용하십시오.

function isAlphanumeric( str ) {
 return /^[0-9a-zA-Z]+$/.test(str);
}


답변

당신은 모두 너무 열심히 생각하고 있습니다. 간단한 정규식 만 사용하면 가장 친한 친구입니다.

var string1 = "Hi Stack Overflow. I like to eat pizza."
var string2 = "Damn, I fail."

var regex = /(pizza)/g // Insert whatever phrase or character you want to find

string1.test(regex); // => true
string2.test(regex); // => false

5 분 안에 정규식을 배우십니까?