XRegExp正则表达式允许字符之间的单个空格

时间:2014-12-05 06:59:45

标签: regex validation xregexp

我正在使用XRegExp Regex。我想在我的角色之间有一个空格我也需要有特殊字符才能启用。我设法允许添加特殊字符,但我无法允许空格。

我的正则表达式unicodeWord = XRegExp("^(\\p{L}|[0-9][\s])+$");

它允许像

这样的角色
  

欢迎

但不是

  

嗨,Wèlcome

//Alphanumeric validation
function isAlphanumeric(str) { 
    var unicodeWord = XRegExp("^[\p{L}\d]+(?:\s+[\p{L}\d]+)*$"); 
    result = unicodeWord.test(str);
    return result;
}


été altérée sûr générateurs

但是这个dosnt匹配这个字母数字。

2 个答案:

答案 0 :(得分:2)

您需要更改正则表达式,

unicodeWord = XRegExp("^[\\p{L}\\d]+(?:\\s[\\p{L}\\d]+)*$");
  • [\\p{L}\\d]+匹配一个或多个字母或数字。
  • (?:\\s[\\p{L}\\d]+)*后跟零或更多(空格后跟一个或多个字母或数字

OR

unicodeWord = XRegExp("^[\\p{L}\\d]+(?:\\s[\\p{L}\\d]+)?$");
?中的

(?:\\s[\\p{L}\\d]+)?会将之前的标记(?:\\s[\\p{L}\\d]+)视为可选标记。

答案 1 :(得分:1)

^(?:\\p{L}|[0-9\s])+$

试试这个。看看演示。

https://regex101.com/r/iY3eK8/3