我的代码中有以下正则表达式来验证文本框。表达式验证某种格式的文本。但是,我想要用户将文本框留空的情况也是有效的。当我使用空白文本框提交表单时,此正则表达式不匹配。我想删除这个案子。我该怎么做?
^[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$
答案 0 :(得分:1)
您不需要正则表达式来检查空白文本&#39;。只需修剪值并检查其长度(value.trim().length < 1
)
答案 1 :(得分:1)
你可能只是让你的整场比赛有条件......
^([A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})){0,1}$
围绕^
中的整个表达式($
和(...){0,1}
开始和结束锚点除外)指示正则表达式引擎匹配括号中的表达式0或1次。匹配0次会导致空字符串通过验证。
答案 2 :(得分:0)
您需要将+
更改为*
。
正则表达式中第一个类之后的+
表示一个或多个结果。
*
意味着它可以为空。
你的正则表达式现在是:^([A-Za-z0-9-]*(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})){0,1}$