Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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/string/5.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 replace()对字符串不做任何处理_Javascript_String_Replace - Fatal编程技术网

Javascript replace()对字符串不做任何处理

Javascript replace()对字符串不做任何处理,javascript,string,replace,Javascript,String,Replace,作为一个有2年以上经验的web开发人员,我很不好意思问这个问题,但是- 以下代码未按预期工作: var string = "Daln, nik, But, Blaz, wan"; string = string.replace("/[^a-zA-Z,]+/g", ""); 如果字符串没有被去掉空格,我的意思是即使我将其设置为正则表达式 var string = "Daln, nik, But, Blaz, wan"; string = string.replace("/[a-zA-Z,]+/g

作为一个有2年以上经验的web开发人员,我很不好意思问这个问题,但是-

以下代码未按预期工作:

var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[^a-zA-Z,]+/g", "");
如果字符串没有被去掉空格,我的意思是即使我将其设置为正则表达式

var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[a-zA-Z,]+/g", "");
如果它应该替换从a到z的任何字符(大写和小写)以及任何逗号,则它不会。我已经在我的浏览器和一个开放的测试环境(如jsbin.com)中试过了,结果是一样的

与我认为regex可能有问题的观点相反,它作为一个独立的工具似乎工作得很好,这已经被这个实时测试工具证明了


所以我想知道到底哪里不对,我感谢所有帮助我的人

传递的是
replace
字符串而不是正则表达式


从正则表达式周围删除
字符。

它不起任何作用,因为您试图替换不存在的字符串
“/[a-zA-Z,]+/g”

您需要删除引号才能有效地使用正则表达式:

var string = "Daln, nik, But, Blaz, wan";
string = string.replace(/[a-zA-Z,]+/g, "");

您没有将正则表达式作为参数传递。根据文档,您传递的是
string

正则表达式文字:它由斜杠(
/
)之间封闭的模式组成

您正在将表达式用引号括起来。这使它成为一个字符串。您应该删除
“”

如果要创建带字符串的正则表达式,可以使用

将正则表达式括在引号中;它应该是
/[a-zA-Z,]+/g
。命名变量
string
。:@Keith its用于测试目的是的,这就是为什么我做了一个笑脸..ps.如果你想从字符串创建正则表达式,它更像->
“Daln,nik,But,Blaz,wan”。替换(新的正则表达式(“[a-zA-Z,]+,“g”),”)
既然你已经提到了这一点,那就很有道理了。:D