Javascript 正则表达式在版本号方面失败

Javascript 正则表达式在版本号方面失败,javascript,regex,reactjs,Javascript,Regex,Reactjs,我已经使用下面的正则表达式来允许我输入字母表、数字、特殊字符,并且不应该允许整个单词的尾随和前导空格 不允许的模式: (空格)文本(空格) (空格)此文本有尾随空格和前导空格(空格) 对于以上内容,我使用的是这个正则表达式模式/^(?![A-Za-z0-9]*(?并且这个条目失败-v1.3 rules: [ { required: true, pattern: /^(?! )[A-Za-z0-9 ]*(?<! )$/,

我已经使用下面的正则表达式来允许我输入字母表、数字、特殊字符,并且不应该允许整个单词的尾随和前导空格

不允许的模式:

(空格)文本(空格)

(空格)此文本有尾随空格和前导空格(空格)

对于以上内容,我使用的是这个正则表达式模式
/^(?![A-Za-z0-9]*(?并且这个条目失败-
v1.3

 rules: [
          {
            required: true,
            pattern: /^(?! )[A-Za-z0-9 ]*(?<! )$/,
            message: 'Please enter valid version value',
          },
规则:[
{
要求:正确,
模式:/^(?![A-Za-z0-9]*(?)?
有谁能建议我如何通过正则表达式,这样我就可以输入版本的数据,同时也可以满足上述条件。我正在使用react JS


提前感谢

您需要在regex模式中为空格之间留出一个

这个正则表达式应该有效

^(?![A-Za-z0-9\.]*(

我添加了
\.
以允许
字符


您只需对前导空格加上任意数量的字符和尾随空格使用负前瞻:

^(?! .* $)

这不是有效的javascript正则表达式-至少在所有浏览器中都不是。
导致它失败,我认为这会起作用:
^(?![A-Za-z0-9\.]*(?@MattCarlotta您的正则表达式在
#2.3
字母表、数字、特殊字符“…所以A-z、A-z、0-9和空格是您的正则表达式所允许的。。“
A-Za-z0-9
”-在这一点上没有“特殊字符”all@EnigmaState然后需要添加特殊字符: