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

时间:2016-10-19 16:38:57

标签: javascript jquery regex

所以我有一个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.');
                    }

提前致谢

3 个答案:

答案 0 :(得分:2)

您可以使用预测来确保以下字符串中的某个条件为真。

在这种情况下,该条件是&#34;字符串&#34; 中的任意位置至少有一个十进制数字,即(?=.*\d)

因此我们得到:

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

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

注意如果您想在字符类中允许-,请养成使其成为第一个或最后一个字符的习惯,以防止无意中创建范围。< / p>

答案 1 :(得分:1)

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

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

(?=\D*\d)是一个积极的预测,断言你的字段中至少有一个数字。

答案 2 :(得分:0)

你试试吧 至少一个数字:))

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