我有用于检查邮政编码的javascript代码
var regexObj =
/^(?=[^-]*-?[^-]*$)[0-9-]*[0-9]$/;
Run Code Online (Sandbox Code Playgroud)
我需要为此添加一个条件,即
使它成为用户必须输入至少3个字符
任何人都可以说,我怎样才能修改我的正则表达式
mar*_*cog 16
/^(?=[^-]*-?[^-]*$)[0-9-]*[0-9]$/
Run Code Online (Sandbox Code Playgroud)
相当于
/^[0-9-]*[0-9]$/
Run Code Online (Sandbox Code Playgroud)
您可以在同一个通道中添加长度检查,而无需前瞻
/^[0-9-]{2,}[0-9]$/
Run Code Online (Sandbox Code Playgroud)
这至少有3个字符,最后一个是数字,其余是数字和-.见http://www.rubular.com/r/oa9wVxggz0
您可能还希望将第一个字符限制为a -.您可能还需要3个数字,而不必将其-作为所需的3个字符之一.把这些放在一起我们会得到:
/^[0-9]-*[0-9][0-9-]*[0-9]$/
Run Code Online (Sandbox Code Playgroud)
请参阅http://www.rubular.com/r/Qhl843Txib
Mat*_*all 13
为什么在世界上你需要一个正则表达式来检查一个字符串的长度?
var testString1 = 'this is long enough';
alert(testString1.length >= 3); // true
var testString2 = 'no';
alert(testString2.length >= 3); // false
Run Code Online (Sandbox Code Playgroud)
在 HTML5 中,您可以使用模式。
在您的示例中,您将执行以下操作,其中 3 是最小值,逗号后面的任何内容都是最大值(在您的情况下,您没有最大值):
<input pattern=".{3,}">
Run Code Online (Sandbox Code Playgroud)