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 에는 includes
String '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
var inputString = "this is home";
var findme = "home";
if ( inputString.indexOf(findme) > -1 ) {
alert( "found it" );
} else {
alert( "not found" );
}
영숫자 문자 만 테스트하려면 다음을 수행하십시오.
if (/^[0-9A-Za-z]+$/.test(yourString))
{
//there are only alphanumeric characters
}
else
{
//it contains other characters
}
정규식은 입력의 시작 (^)에서 시작하여 입력의 끝 ($)에서 중지하는 0-9, AZ 및 az 문자 세트 중 하나 이상 (+)을 테스트합니다.
Kevins의 답변은 정확하지만 다음과 같이 "매직"번호가 필요합니다.
var containsChar = s.indexOf(somechar) !== -1;
이 경우 -1 은 찾을 수 없음을 나타 냅니다. 조금 더 나은 버전은 다음과 같습니다.
var containsChar = s.indexOf(somechar) >= 0;
문자열의 시작 또는 끝에서 문자를 검색하는 경우 startsWith
및endsWith
const country = "pakistan";
country.startsWith('p'); // true
country.endsWith('n'); // true
이 시도:
if ('Hello, World!'.indexOf('orl') !== -1)
alert("The string 'Hello World' contains the substring 'orl'!");
else
alert("The string 'Hello World' does not contain the substring 'orl'!");
예를 들면 다음과 같습니다. http://jsfiddle.net/oliverni/cb8xw/
문자열의 검색 기능도 유용합니다. 주어진 문자열에서 문자와 sub_string을 검색합니다.
'apple'.search('pl')
보고 2
'apple'.search('x')
반환 -1
예를 들어 ap 또는 h1 태그와 같은 DOM에서 데이터를 읽는 경우 두 가지 기본 JavaScript 함수를 사용하려는 경우 조용히 쉽지만 적어도 제공하려는 솔루션에 대해서는 es6로 제한됩니다. 텍스트에 "T"가 포함 된 경우 DOM 내에서 모든 p 태그를 검색합니다. 전체 단락이 제거됩니다. 이 작은 예가 누군가를 돕기를 바랍니다!
HTML
<p>Text you need to read one</p>
<p>Text you need to read two</p>
<p>Text you need to read three</p>
JS
let paras = document.querySelectorAll('p');
paras.forEach(p => {
if(p.textContent.includes('T')){
p.remove();
}
});
완벽하게 작동합니다.이 예는 많은 도움이 될 것입니다.
<script>
function check()
{
var val = frm1.uname.value;
//alert(val);
if (val.indexOf("@") > 0)
{
alert ("email");
document.getElementById('isEmail1').value = true;
//alert( document.getElementById('isEmail1').value);
}else {
alert("usernam");
document.getElementById('isEmail1').value = false;
//alert( document.getElementById('isEmail1').value);
}
}
</script>
<body>
<h1>My form </h1>
<form action="v1.0/user/login" method="post" id = "frm1">
<p>
UserName : <input type="text" id = "uname" name="username" />
</p>
<p>
Password : <input type="text" name="password" />
</p>
<p>
<input type="hidden" class="email" id = "isEmail1" name = "isEmail"/>
</p>
<input type="submit" id = "submit" value="Add User" onclick="return check();"/>
</form>
</body>
데모 : include () 메서드는 전체 문자열에서 "contains"문자를 찾으면 true를 반환합니다.
var string = "This is a tutsmake.com and this tutorial contains javascript include() method examples."
str.includes("contains");
//The output of this
true
'Programing' 카테고리의 다른 글
C #에서 빈 배열을 어떻게 초기화합니까? (0) | 2020.03.18 |
---|---|
SVN의 결과 코드는 무엇을 의미합니까? (0) | 2020.03.18 |
.NET / C #을 통해 CPU 코어 수를 찾는 방법은 무엇입니까? (0) | 2020.03.18 |
각 '언제'블록에 여러 값이있는 사례 설명 (0) | 2020.03.18 |
Visual Studio 코드에서 모든 메서드 축소 (0) | 2020.03.18 |