js正則匹配

     form input輸入框,截取url等不少地方須要咱們使用正則表達式。html

(1).RegExp類型正則表達式

js經過RegExp類型來支持正則表達式。var expression = / pattern / flags;express

其中的模式(pattern) 部分能夠是任何簡單或複雜的正則表達式。每一個正則表達式均可帶一個或者多個標誌(flages),用以表示正則表達式的行爲。數組

正則表達式的匹配模式支持下列3個標誌。app

        g :  表示全局(global)模式,即模式將被應用於全部字符串,在發現第一個匹配項後不會當即中止。this

        i  :  表示不區分大小寫(case-insensitive)模式,即在肯定匹配項時忽略模式與字符串的大小寫。url

        m:  表示多行(multiline)模式,即在到達一行文本末尾時還會繼續查找下一行中是否存在與模式匹配的項。spa

(2).RegExp實例方法code

RegExp 對象主要方法是exec(),該方法接受一個參數,就是須要應用模式的字符串,而後返回包含第一個匹配項信息的數組;或者沒有匹配返回null。其中包含兩個額外屬性:index 和 input。其中,index表示匹配項在字符串中的位置,而input表示應用正則表達式的字符串。orm

var text = "0722-6661023";
var p=/\d{3,4}-\d{7}/g;
var matches = p.exec(text);
console.log(matches);
/**
output 

0    "0722-6661023"    
index    0    
input    "0722-6661023"    
*/

.test()是第二個方法,它接受一個字符串參數。在模式與該參數匹配的時候返回true; 否在,返回 false。在只想知道目標字符串與某個模式是否匹配,但不須要知道其文本內容的狀況下,使用找個方法很是方便。

function vali_tel(){
    var text = "0722-6661023";
    var p=/\d{3,4}-\d{7}/;
    return p.test(text); 
}

if(vali_tel()){
  alert('ok');
}else{
  alert('fail');
}

相關例子:

在點擊添加按鈕的時候。動態添加input輸入框。須要去掉以前的value屬性。


var a = '<div class="ops">'+$(this).parent().prev().children("div.ops:eq(0)").html()+'</div>';
er = /value="[0-9a-zA-Z]*"/g;
a = a.replace(er, '');
console.log(a);//return false;
$(this).parent().prev().append(a);
相關文章
相關標籤/搜索