Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用正则表达式在开始和结束处添加点_Javascript_Regex - Fatal编程技术网

Javascript 使用正则表达式在开始和结束处添加点

Javascript 使用正则表达式在开始和结束处添加点,javascript,regex,Javascript,Regex,您好,我正在尝试使用Javascript中的正则表达式验证输入,我的要求是字符串中最多只能有一个点,而不能在开头和结尾。 我有一个解决办法 /^[^\.].*[^\.]$/; 但问题是输入“x”被视为无效 有效输入如下 “x”、“x.x”、“xx.x”、“x.xx”之类 无效,比如“.x”和“x.”怎么样 怎么样 /^(?)[^\.]*.?[^\.]*(?!\).$/对于当前正则表达式,您的目标字符串长度应至少为2个字符,因为两个[^\.]部分都是必填字符 如果只有一个字符,您的正则表达式应该

您好,我正在尝试使用Javascript中的正则表达式验证输入,我的要求是字符串中最多只能有一个点,而不能在开头和结尾。 我有一个解决办法

/^[^\.].*[^\.]$/;
但问题是输入“x”被视为无效 有效输入如下 “x”、“x.x”、“xx.x”、“x.xx”之类 无效,比如“.x”和“x.”

怎么样

怎么样


/^(?)[^\.]*.?[^\.]*(?!\).$/

对于当前正则表达式,您的目标字符串长度应至少为2个字符,因为两个[^\.]部分都是必填字符

如果只有一个字符,您的正则表达式应该包含一个额外的检查,您可以这样做:
^([^\.]|([^\.]+.?[^\.]+)$

对于当前正则表达式,您的目标字符串长度应至少为2个字符,因为两个[^\.]部分都是必填字符

如果只有一个字符,您的正则表达式应该包含一个额外的检查,您可以这样做:
^([^\.]|([^\.]+.?[^\.]+)$

的正确正则表达式

我的要求是字符串中最多只能有一个点('.') 这不可能是开始和结束

/^([^\.]|([^\.].[^\.])$/
/^[^\.].[^\.]$/
接受字符串 包含超过1个点的。因此,它也将接受X..X

请检查工作片段也


验证资本(“XX.X”);
验证资本(“X.X”);
验证测试(“X…X”);
验证资本(“X”);
验证资本(“X.X.X”);
验证资本(“XX”);
验证限制(“XX”);
函数验证字符串(str){
console.log(/^([^\.]|([^\.]*.?[^\.])$/.test(str));
}
的正确正则表达式

我的要求是字符串中最多只能有一个点('.') 这不可能是开始和结束

/^([^\.]|([^\.].[^\.])$/
/^[^\.].[^\.]$/
接受字符串 包含超过1个点的。因此,它也将接受X..X

请检查工作片段也


验证资本(“XX.X”);
验证资本(“X.X”);
验证测试(“X…X”);
验证资本(“X”);
验证资本(“X.X.X”);
验证资本(“XX”);
验证限制(“XX”);
函数验证字符串(str){
console.log(/^([^\.]|([^\.]*.?[^\.])$/.test(str));

}
Rule#763476关于如何编写可维护代码:如果您不知道如何使用regex编写smth,请不要使用regex。Rule#763476关于如何编写可维护代码:如果您不知道如何使用regex编写smth,请不要使用regex。这似乎允许使用多个点。您是对的。我已经将表达式更新为只允许1点。嘿,像
'xx'
这样的值失败了<代码>?嗯,在将\.*更改为\之后,我忘记将点设置为可选。不过这似乎允许多个点。你是对的。我已经将表达式更新为只允许1点。嘿,像
'xx'
这样的值失败了<代码>?嗯,在将\.*更改为\之后,我忘记了将点设置为可选的。您的正则表达式
/^([^\.].*?[^\.])$/
对于
'.x'
'x.xx'
之类的值失败,因此还需要做更多的工作…您的正则表达式
/^([^\.].[^\.].*.[^.].].[^.].].*?[^.]$/
对于
'.x'
'x.xx'
等值失败,因此还需要进行更多的工作。。。
/^([^\.]|([^\.]*.?[^\.]))$/