Javascript-确保输入至少有一个数字

Javascript - Ensure input has at least one number

本文关键字:有一个 数字 确保 输入 Javascript-      更新时间:2023-09-26

所以我有一个textarea,并且正在用jQuery和Regex对它进行一些前端验证。

输入的标准如下:

  • 必须有5-12个字符
  • 不能包含任何特殊字符
  • 至少需要一个号码

这是我正在努力解决的最后一点。

这就是我验证前两个标准的方式:

if (charsLength < 5 || charsLength > 12) {
                       alert("Please ensure your Unique ID is between 5 and 12 characters.");
                   }
                    if(/^[a-zA-Z0-9- ]*$/.test(uniqueIDContent) == false) {
                        alert('Your Unique ID contains illegal characters.');
                    }

提前感谢

您可以添加一个前瞻来强制输入中至少存在一个数字:

/^(?='D*'d)[a-zA-Z0-9 -]+$/

(?='D*'d)是正向前瞻,它断言字段中至少存在一个数字。

您可以使用前瞻性来确保以下字符串中的某个条件为true。

在这种情况下,条件是"字符串中任何位置至少有一个十进制数字">,即(?=.*'d)

因此我们得到:

^(?=.*'d)[ a-zA-Z0-9-]{5, 12}$

此表达式还包括长度检查。

注意如果要在字符类中允许-,请养成将其作为第一个或最后一个字符的习惯,以防止无意中创建范围。

u会尝试一下至少一个数字:(

^(?=.*'d)+[a-zA-Z0-9]{5,12}
相关文章: