javascript - 这个正则表达式怎么写?

标签 javascript html forms validation

我正在验证一个字段,该字段只能是数字,但可能包含空格或减号。

这是为了验证电话号码字段! 所以,应该满足这些标准:(可能忘记了一个标准,如果忘记了请提醒我)

 1- Atleast 5 numbers
 2- May contain space
 3- Not shorter than 5 characters
 4- Not longer than 20 characters
 5- May contain minus-sign
 6- Not empty

 if (nr.length>4 && nr.length<21 && nr!=''){

 }

我应该如何编写正则表达式? 或者 if 语句?

谢谢

最佳答案

尝试这个正则表达式:

^(?=(?:\D*\d){5})[\d -]{5,20}$

先行断言(?=(?:\D*\d){5}) 测试五位数字。其余测试长度至少为 5 个,最多 20 个字符,只能是数字、空格或连字符。

关于javascript - 这个正则表达式怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298416/

相关文章:

javascript - 如何在 JavaScript/Ajax 调用中从 HTML 获取变量

html - 按钮波浪效果不使用 angular2 Materialize 重置

php - 无法链接到上一层的 index.html

javascript - 如何为禁用的 HTML 输入文本字段启用 HTML 验证

javascript - 正则表达式匹配尖括号之外的文本

javascript - 如何在 IE 和 Firefox 的 JavaScript 中检测 CTRL-V

javascript - 动态改变最大范围和 document.getElementById

html - 如何调整 space-around 的间距?

php - 如何让ajax javascript在按下回车键时工作

用于只读数据库的 java ORM