javascript - 空格和引号的正则表达式

标签 javascript regex

我已经阅读了这里有关正则表达式的其他一些教程,但我仍然无法准确创建我需要的内容。

我有一个 onblur 函数可以做到这一点......

var x = $("#outputpathid").val();     
var testwhitespace = new RegExp(/\s/g);
var testdoublequotes = new RegExp(/^\"|\"$/);

if (testwhitespace.test(x) && !testdoublequotes.test(x)) {
            $("#outputPathDivWhitespace").dialog({
                title: 'Output Path contains whitespace. Click the \'Close\' button to add quotes.',
                width: 500,
                modal: true,
                resizable: false,
                buttons: {
                'Close': function() {
                        $("#outputpathid").val('"'+x+'"');
                        $(this).dialog('close');
                    }
                }
            });
        }

...我希望该函数测试输入字段字符串 x 是否包含空格。如果是,还要检查是否有引号。如果没有引号并且包含空格,则在整个字符串周围添加引号。在字符串有开头或结尾引号之前,这可以正常工作。

我正在寻找某种类型的“and”运算符来替换 testdoublequotes var 中的管道。我发现我应该使用“?”,但无法让它工作。

有人可以帮忙吗?如果您提供答案,请准确解释您所做的事情,以便我能够理解发生了什么事。谢谢!

最佳答案

/^".*"$/

使用.*来匹配双引号之间的. 匹配任意字符,* 匹配任意数量的后续whatever。因此 .* 匹配任意数量的任意字符。

顺便说一句,双引号不需要转义。我删除了反斜杠。

关于javascript - 空格和引号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586681/

相关文章:

javascript - 内置原型(prototype)函数,如 Array.map、Array.filter VS _.map、_.filter

javascript - Safari 和 IE 面临 "field must be date"问题

javascript - 使用 Bootstrap FormValidation 验证生成的数字输入

javascript - 使用 JavaScript 正则表达式将 'First.Last@example.com' 变成 'flast'

python - 使用正则表达式匹配基因组位置

regex - 使用正则表达式的 Http 重定向 302

javascript - Firebase:在 cookie 中存储匿名身份验证

regex - Perl 中的 GPA 正则表达式

javascript - 如何在 Javascript 中使用正则表达式删除单词之间的所有空格

python - 使用 Python 正则表达式在字符之间拆分字符串