使用正则表达式开始和结束点

时间:2017-03-31 09:28:13

标签: javascript regex

您好我试图在Javascript中使用正则表达式验证输入,我的要求是我在字符串中最多只能一个点('。') 不能在开头和结尾

我有一个解决方案
/^[^\.].*[^\.]$/;

但问题是输入" x"被视为无效 有效的输入就像 " x"," x.x"," xx.x" ," x.xx"像这样 无效的" .x"和" x。"

3 个答案:

答案 0 :(得分:5)

怎么样

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

答案 1 :(得分:1)

使用当前的正则表达式,您的目标字符串应至少为2个字符,因为[^ \。]部分都是必填字符。

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

答案 2 :(得分:1)

的正确正则表达式
  

我的要求是我在字符串中最多只能有一个点('。')   并且不能在开始和结束时

if [ "$val1" -gt 50 ] || [ "$val2" -gt 50 ] ; then
#your code here
fi
  

/^([^\.]|([^\.]*.?[^\.]))$/ /^([^\.]|([^\.].*[^\.]))$/接受字符串   包含多于1个点。因此它也会接受X..X。

请检查工作片段



/^[^\.].*[^\.]$/