2015-04-01 33 views
1

基本上我的驗證非常簡單,但我對於正則表達式是全新的,並且需要相當快地啓動它,所以這裏是:1234567890123456-7890它可以是,顯然,在0-9範圍內的任何數字和長度必須是10或11個字符。如何編寫一個正則表達式(JavaScript)進行身份驗證?

你能告訴我一個方法來寫這個功能嗎?

+0

看到這個堆棧溢出後http://stackoverflow.com/questions/4840547/javascript-regular-expression-to-match-x-digits-only – 2015-04-01 06:15:18

回答

1
function isId(id) { 
    return /^\d{6}-?\d{4}$/.test(id); 
} 

isId("1234567890"); // true 
isId("123456-7890"); // true 
+0

謝謝!這工作完美:) – Xeen 2015-04-01 06:26:46

+0

總是歡迎@ Xeen! – 2015-04-01 06:27:20

+0

@ Xeen,但請注意,您可能希望將\ d限制爲[0-9]而不是其他數字格式。是否要驗證丹麥社會安全號碼? – 2015-04-03 16:25:23

2

很難使用iPhone發佈,但是,這裏有雲:

/^\d{6}-?\d{4}$/ 
  • ^ - 與
  • $開始 - 與
  • \d{6}結束 - 比賽6個位數
  • ? - 有些東西是可選的,在這種情況下,-
  • \d{4} - 匹配4位數字

所以,上述將匹配123456-78901234567890

0

如果破折號應該在任何位置是可能的:

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 
+0

這幾乎是完美的,但破折號只能在第6個數字後面 – Xeen 2015-04-01 06:25:14