我正在使用Javascript正则表达式,但这与我对其工作原理的理解相冲突。与Javascript正则表达式的理解发生冲突
表达是这样的:/^[0-9]+$/
所以,如果我考这个正则表达式,说一个文本框的值,我的理解是,它会检查值是否与至少一个数字开始,以至少一位数字结束。然而,现在发生的情况是,只有当整个数值是数字时,测试才会成功。如果我在两者之间放置一个字母表,我知道应该使测试成功,但后者失败。
任何人都可以在此澄清我吗?谢谢。
我正在使用Javascript正则表达式,但这与我对其工作原理的理解相冲突。与Javascript正则表达式的理解发生冲突
表达是这样的:/^[0-9]+$/
所以,如果我考这个正则表达式,说一个文本框的值,我的理解是,它会检查值是否与至少一个数字开始,以至少一位数字结束。然而,现在发生的情况是,只有当整个数值是数字时,测试才会成功。如果我在两者之间放置一个字母表,我知道应该使测试成功,但后者失败。
任何人都可以在此澄清我吗?谢谢。
是的,它表示从开始到结束的一系列一个或多个数字。
^[0-9].+[0-9]$
会让你了解它在做什么。
你表达/^[0-9]+$/
说...
^
说: “开始的字符串的开头”[0-9]
说: “匹配字符串必须在下一个包含许多”+
说,“该数字可以重复任意次数,但必须至少出现一次“$
说,”该字符串必须结束“既然你没有指定中间可能有字符或任何东西,你的正则表达式就不会匹配它。如果你想“打头的编号和数字结尾”尝试...
/^[0-9](.*[0-9])?$/
它说
^
开始在字符串的开头(
启动组 - 但忽略此现在...它会变得明显后[0-9]
后跟数字.
后跟任意字符*
让“任何字符”指定前夕重复零次或多次[0-9]
后跟数字)?
但允许“任何字符后跟一个数字”存在或不存在。这允许我们只有一个数字作为匹配字符串。或者你可以使用/^[0-9]([0-9a-zA-Z]*[0-9])?$/
如果要限制对数字和字母
好了,所以它不检查数字在开始和结束时分别,而是'从开始到结束'? – 2013-05-09 22:44:00
不,这意味着在行首,应该有一个或多个数字字符,然后应该有行结尾 – 2013-05-09 22:45:48
啊!好的!谢谢。 – 2013-05-09 22:48:40