我正在验证一个字段,该字段只能是数字,但可能包含空格或减号。
这是为了验证电话号码字段! 所以,应该满足这些标准:(可能忘记了一个标准,如果忘记了请提醒我)
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/