您好我试图在Javascript中使用正则表达式验证输入,我的要求是我在字符串中最多只能一个点('。') 不能在开头和结尾。
我有一个解决方案/^[^\.].*[^\.]$/;
但问题是输入" x"被视为无效 有效的输入就像 " x"," x.x"," xx.x" ," x.xx"像这样 无效的" .x"和" x。"
答案 0 :(得分:5)
怎么样
/^(?!\.)[^\.]*\.?[^\.]*(?!\.).$/
答案 1 :(得分:1)
使用当前的正则表达式,您的目标字符串应至少为2个字符,因为[^ \。]部分都是必填字符。
你的正则表达式应该包括一个额外的检查,以防只有一个字符,你可以这样做:
^([^\.]|([^\.]+\.?[^\.]+))$
答案 2 :(得分:1)
的正确正则表达式
我的要求是我在字符串中最多只能有一个点('。') 并且不能在开始和结束时
是
if [ "$val1" -gt 50 ] || [ "$val2" -gt 50 ] ; then
#your code here
fi
/^([^\.]|([^\.]*.?[^\.]))$/
或/^([^\.]|([^\.].*[^\.]))$/
接受字符串 包含多于1个点。因此它也会接受X..X。
请检查工作片段
/^[^\.].*[^\.]$/