如何判断一个字符串是否包含JavaScript中的某个字符?
2022-08-29 23:25:04
我有一个带有文本框的页面,用户应该在其中输入24个字符(字母和数字,不区分大小写)的注册码。我曾经限制用户输入24个字符。maxlength
注册码通常以用破折号分隔的字符组给出,但我希望用户输入代码时不带破折号。
如何在没有jQuery的情况下编写JavaScript代码来检查用户输入的给定字符串是否不包含破折号,或者更好的是,只包含字母数字字符?
我有一个带有文本框的页面,用户应该在其中输入24个字符(字母和数字,不区分大小写)的注册码。我曾经限制用户输入24个字符。maxlength
注册码通常以用破折号分隔的字符组给出,但我希望用户输入代码时不带破折号。
如何在没有jQuery的情况下编写JavaScript代码来检查用户输入的给定字符串是否不包含破折号,或者更好的是,只包含字母数字字符?
要查找“你好”your_string
if (your_string.indexOf('hello') > -1)
{
alert("hello found inside your_string");
}
对于字母数字,您可以使用正则表达式:
与 ES6 MDN 文档 .include()
"FooBar".includes("oo"); // true
"FooBar".includes("foo"); // false
"FooBar".includes("oo", 2); // false
E:不受IE支持 - 相反,您可以将波浪号操作器(按位NOT)与.indexOf()一起使用~
~"FooBar".indexOf("oo"); // -2 -> true
~"FooBar".indexOf("foo"); // 0 -> false
~"FooBar".indexOf("oo", 2); // 0 -> false
与数字一起使用时,波浪号运算符有效 。将其与双否定(逻辑 NOT)一起使用以布尔为单位转换数字:~N => -(N+1)
!!
!!~"FooBar".indexOf("oo"); // true
!!~"FooBar".indexOf("foo"); // false
!!~"FooBar".indexOf("oo", 2); // false