Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串中的特殊字符_Javascript_Regex_String - Fatal编程技术网

Javascript 检查字符串中的特殊字符

Javascript 检查字符串中的特殊字符,javascript,regex,string,Javascript,Regex,String,我想检查字符串是否包含特殊字符,如!@$%^&*,/\'“;:?如果字符串至少包含其中一个字符,则返回true 我尝试使用以下正则表达式脚本: var format = /^[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]*$/; if( string.match(format) ){ return true; }else{ return false; } var format=/^[!@\\$%^&*()\+\-=\[\]{};:“\\

我想检查字符串是否包含特殊字符,如!@$%^&*,/\'“;:?如果字符串至少包含其中一个字符,则返回true

我尝试使用以下正则表达式脚本:

var format = /^[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]*$/;

if( string.match(format) ){
  return true;
}else{
  return false;
}
var format=/^[!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?]*$/;
if(string.match(格式)){
返回true;
}否则{
返回false;
}
如果字符串仅包含特殊字符,则返回true,但如果字符串包含字母数字字符(!example1、.example2)等其他字符,则返回false。

var specialChars=“@!\$%^&*()\+[]{}:;\”\”\,./~`-=”;
var checkForSpecialChar=函数(字符串){
对于(i=0;i-1){
返回真值
}
}
返回false;
}
var str=“YourText”;
如果(检查特殊字符(str)){
警报(“无效”);
}否则{
警报(“有效”);
}
var specialChars=“@!#$%^&*()_+[]{}?:;|'\"\\,./~`-=";
var checkForSpecialChar=函数(字符串){
对于(i=0;i-1){
返回真值
}
}
返回false;
}
var str=“YourText”;
如果(检查特殊字符(str)){
警报(“无效”);
}否则{
警报(“有效”);

}
我建议使用RegExp
.test()
函数检查模式匹配,唯一需要更改的是删除regex中的起始/结束线锚(并且
*
量词也是多余的):

var格式=/[`!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?~]/;
//            ^                                       ^   
document.write(format.test)(“My@string-(部分%text)“)+”
“; document.write(format.test(“带空格的字符串”)+“
”;
document.write(format.test(“MyStringContainingNoSpecialChars”);
我建议使用RegExp
.test()
函数来检查模式匹配,唯一需要更改的是删除regex中的起始/结束线锚(并且
*
量词也是多余的):

var格式=/[`!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?~]/;
//            ^                                       ^   
document.write(format.test)(“My@string-(部分%text)“)+”
“; document.write(format.test(“带空格的字符串”)+“
”;
document.write(format.test(“MyStringContainingNoSpecialChars”)
您的regexp使用
^
$
,因此它尝试匹配整个字符串。如果只需要一个布尔值作为结果,请使用
test
而不是
match

var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;

if(format.test(string)){
  return true;
} else {
  return false;
}
var格式=/[!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?]+/;
if(格式测试(字符串)){
返回true;
}否则{
返回false;
}

您的regexp使用
^
$
,因此它尝试匹配整个字符串。如果您只需要一个布尔值作为结果,请使用
test
而不是
match

var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/;

if(format.test(string)){
  return true;
} else {
  return false;
}
var格式=/[!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?]+/;
if(格式测试(字符串)){
返回true;
}否则{
返回false;
}

从正则表达式中删除字符
^
(字符串开头)和
$
(字符串结尾)

var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
var格式=/[!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?]”;

从正则表达式中删除字符
^
(字符串开头)和
$
(字符串结尾)

var format = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
var格式=/[!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?]”;

相反,负匹配字母数字不是更容易吗

return string.match(/^[^a-zA-Z0-9]+$/) ? true : false;

相反,负匹配字母数字不是更容易吗

return string.match(/^[^a-zA-Z0-9]+$/) ? true : false;
您可以尝试以下方法:

regex=[\W\ux]

它肯定会对您有所帮助。

您可以尝试以下方法:

regex=[\W\ux]


它肯定会对您有所帮助。

检查字符串是否至少包含一个:

供参考:

ASCII表中的特殊字符范围为:

  • 空间到/
  • :至@
  • [致`
  • {to~
因此,请使用以下命令:


/[-/:-@[-`{-~]/.test(string)

检查字符串是否至少包含一个:

供参考:

ASCII表中的特殊字符范围为:

  • 空间到/
  • :至@
  • [致`
  • {to~
因此,请使用以下命令:

/[-/:-@[-`{-~]/.test(字符串)

var格式=/[`!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?~]/;
//            ^                                       ^   
document.write(format.test(“My@string with(some%text)”)+“
”; document.write(format.test(“带空格的字符串”)+“
”; document.write(format.test(“MyStringContainingNoSpecialChars”);
var格式=/[`!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?~]/;
//            ^                                       ^   
document.write(format.test(“My@string with(some%text)”)+“
”; document.write(format.test(“带空格的字符串”)+“
”; document.write(format.test(“我的StringContainingNoSpecialChars”);
我刚刚做了这个

if(string.match(/\W/)){
return true;//至少包含一个特殊字符或空格
}否则{
返回false;
}
我刚刚做了这个

if(string.match(/\W/)){
return true;//至少包含一个特殊字符或空格
}否则{
返回false;
}

那么你想让我们为你写一个正则表达式?去掉锚和量词。为了更简洁,你可以使用这样的三元运算符:
return str.match(format)对:错;
@Takendarkk,就是这个样子吗?不,我想知道我做了什么wrong@Teemu对不起,如果我很粗鲁,但我想每个人都能明白我的问题是关于什么的,因为我在很短的时间内收到了一些很好的答案。仅仅因为我没有以a结束我的问题?标记并不意味着没有良好的结构。啊…文本b下面代码描述的是代码是如何工作的,而不是你的实际情况?如果是这样,那么我真的很抱歉,这是