特殊字符和空格的RegEx帮助

wr98u20j  于 2023-06-30  发布在  其他
关注(0)|答案(2)|浏览(101)

我需要以下内容:

  • 没有数字
  • 仅允许特殊字符-'
  • 字段的开头或结尾不允许有空格
  • 如果在名称的各部分之间发现任何额外的空格,请删除(如果有多个中间名,则在名称的各部分之间只允许一个空格)
  • 允许附加符号

聊天GPT给出了以下内容:

^(?!.*\d)[\p{L}'-]+$

但是,这仍然允许我输入连续的空格。

inkz8wg9

inkz8wg91#

我想你可以在JavaScript中这样做:

const myString = "Hello    world!  This   is pizza?";

const regex = /^(?!.*\d)[\p{L}'-]+$/g;
const result = myString.replace(regex).replace(/\s+/g, ' ');

console.log(result);
g52tjvyc

g52tjvyc2#

OK,找到答案了:

^(?!.*\d)[\p{L}'-]+(?:\s[\p{L}'-]+)*$

相关问题