基本上我的验证非常简单,但我对于正则表达式是全新的,并且需要相当快地启动它,所以这里是:1234567890
或123456-7890
它可以是,显然,在0-9范围内的任何数字和长度必须是10或11个字符。如何编写一个正则表达式(JavaScript)进行身份验证?
你能告诉我一个方法来写这个功能吗?
基本上我的验证非常简单,但我对于正则表达式是全新的,并且需要相当快地启动它,所以这里是:1234567890
或123456-7890
它可以是,显然,在0-9范围内的任何数字和长度必须是10或11个字符。如何编写一个正则表达式(JavaScript)进行身份验证?
你能告诉我一个方法来写这个功能吗?
function isId(id) {
return /^\d{6}-?\d{4}$/.test(id);
}
isId("1234567890"); // true
isId("123456-7890"); // true
谢谢!这工作完美:) – Xeen 2015-04-01 06:26:46
总是欢迎@ Xeen! – 2015-04-01 06:27:20
@ Xeen,但请注意,您可能希望将\ d限制为[0-9]而不是其他数字格式。是否要验证丹麦社会安全号码? – 2015-04-03 16:25:23
很难使用iPhone发布,但是,这里有云:
/^\d{6}-?\d{4}$/
^
- 与$
开始 - 与\d{6}
结束 - 比赛6个位数?
- 有些东西是可选的,在这种情况下,-
\d{4}
- 匹配4位数字所以,上述将匹配123456-7890
和1234567890
如果破折号应该在任何位置是可能的:
function test_id(id) {return /^\d{10,11}$/.test(id.replace(/-/g, ''));}
输出:
test_id('123')
> false
test_id('2')
> false
test_id('223-345-123-12')
> true
test_id('223-345-12312')
> true
这几乎是完美的,但破折号只能在第6个数字后面 – Xeen 2015-04-01 06:25:14
看到这个堆栈溢出后http://stackoverflow.com/questions/4840547/javascript-regular-expression-to-match-x-digits-only – 2015-04-01 06:15:18