Javascript正则表达式匹配由空格分隔符分隔的单词

标签 javascript regex dojo

我想验证由某个分隔符分隔的单词输入。 本例中的分隔符是“|”符号,前后用空格分隔

Hello | There | Yes   -----> Match
Hello                 -----> Match
hello|There           -----> No Match

到目前为止,我只得到了带有以下拒绝的第一个单词:

^[a-zA-Z]+

如何用空格和分隔符分隔单词或数字? PS 仍在学习教程。任何帮助将不胜感激

为了进一步澄清,我正在寻找上述 dojo dijit 小部件的正则表达式,以正确验证输入。

    dojo.declare("some.class", dijit.form.ValidationTextBox, {
         regExp: ""

    });

   dojo.addOnLoad(function() {

     var formString = new some.class({
        }, "StringName");
   }

     <form id="myForm" name="myForm">
        String: <input id="StringName" name="name" type="text">
    </form>

最佳答案

如果您知道它始终是一个空格后跟一个管道字符后跟一个空格,那么在没有正则表达式的情况下使用 split() 可能会更容易。

var myArray = myString.split(' | ');

如果你绝对必须使用正则表达式,因为(例如)你不知道什么样的空白字符或有多少个空白字符,你仍然可以使用 split() 但只需传递它正则表达式:

var myRegExp = /\s+\|\s+/;
var myArray = myString.split(myRegExp);

关于Javascript正则表达式匹配由空格分隔符分隔的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29760965/

相关文章:

javascript - 关于 Promises/A+ 规范,术语 "thenable"和 "promise"之间有什么区别?

RegEx - 如何删除 Notepad++ 行中第三个空格之前的所有内容?

python - 如何使用正则表达式从Python片段中抓取整个句子

regex - 使用 '=~' 运算符的 Bash 正则表达式匹配意外失败

javascript - 自定义事件不会在 dojo 小部件上触发

javascript - 我如何告诉 Vuelidate 的验证器接受 "alphaNum"加字符点 (".")?

javascript - 如何直接在 Ajax 成功结果上从 JSON 对象加载数据表?

javascript - 根据另一个数组过滤一个数组

javascript - dojox.grid.DataGrid 自定义单元格?

javascript - dojo.data.objectStore.deleteItem