前端正則表達式的使用,一些例子

一些元字符

\w

匹配字母、數字、下劃線。等價於'[A-Za-z0-9_]'。

/g

全局匹配

正則表達式加上參數g之後,表明可以進行全局匹配。此外對於不同的對象方法,/g的含義有所不同,下面給出簡要介紹:

(1)對於表達式對象的exec方法,不加入g,則只返回第一個匹配;如果加入g,則第一次執行也返回第一個匹配,再執行返回第二個匹配,依次類推。對於exec方法,表達式加入了g,並不是說執行exec方法就可以返回所有的匹配,而是說加入了g之後,可以通過某種方式得到所有的匹配,這裏的“方式”對於exec而言,就是依次執行這個方法即可。

(2)對於表達式對象的test方法,加入g於不加上g沒有什麼區別。

(3)對於String對象的match方法,不加入g,也只是返回第一個匹配,一直執行match方法也總是返回第一個匹配,加入g,則一次返回所有的匹配(注意這與表達式對象的exec方法不同,對於exec而言,表達式即使加上了g,也不會一次返回所有的匹配)。

(4)對於String對象的replace方法,表達式不加入g,則只替換第一個匹配,如果加入g,則替換所有匹配。

(5)對於String對象的split方法,加上g與不加g是一樣的。

(6)對於String對象的search方法,加不加g也是一樣的。

\d

匹配一個數字字符。等價於 [0-9]。

詳情查看 菜鳥教程

正則表達式:

1. /[^\d]+/g  # 只能是0到9

2./^[0]+[0-9]*$/gi  # 第一位不能爲0,第一位之後可以

 

onkeyup 鍵盤按動時觸發事件

HTML:

<input type="text" οnkeyup="value=value.replace(/[^\d\/]+/g,'')" value="" >

# 不是[0-9]全部替換爲''(空)

小程序:  

if (/[^\w-]+/g.test(e.detail.value.patid))

#當匹配時返回true

VUE:

<input type="text" v-model="registerId" @keyup="registerId=patient.registerId.replace(/[^\w-]+/g,'')">

iView:

<Input v-model="inputVal" size="large"  @on-keyup="inputVal=inputVal.replace(/[\u4e00-\u9fa5]+/g,'')">
<span slot="prepend">值爲:</span>
</Input>

 # inputVal 爲v-model 綁定的值,爲中文漢字是替換爲''(空)

java:

import java.util.regex.Pattern;

import java.util.regex.Pattern.Matcher;

String regChinese = "[\u4e00-\u9fa5]{1,}[A-Z0-9a-z]";
Boolean bool = Pattern.compile(regChinese).matcher("大范甘迪A").matches();

# 匹配返回true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章