2015-05-14 33 views
0

我正在做一些簡單的網絡應用程序來練習我的技能。如何使用正則表達式可以爲空?

我使用正則表達式來驗證我喜歡這款手機的輸入,

var reg = /^[\s()+-]*([0-9][\s()+-]*){6,20}$/; 

if(!reg.test($('#input-phone').val())){ 
    alert('error'); 
} 

它正常工作,但它不能爲空。我不知道如何修改這個可以拒絕空白字段。

回答

2

檢查是否有一個值,如果是的話使用該正則表達式

var reg = /^[\s()+-]*([0-9][\s()+-]*){6,20}$/; 
var phone = $('#input-phone').val(); 
if (phone.length && !reg.test(phone)) { 
    alert('error'); 
} 
0

表達一個空字符串,因爲其所有的個別序列是可選匹配。

確保最簡單的方法有一些數據裏的表達式是添加在先行在開始的單個字符:

var reg = /^(?=.)[\s()+-]*([0-9][\s()+-]*){6,20}$/; 

但是,它可能是更容易還是明確地測試,如果變量在進行正則表達式測試之前爲空。