一些元字符
\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