一些元字符
| \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" onkeyup="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
本文介绍了正则表达式的几个基本元素,如w和d,详细解释了它们如何匹配特定的字符集。同时,文章探讨了正则表达式在JavaScript中不同方法的应用,包括exec、test、match、replace和split,以及这些方法在加入全局匹配符g后的行为变化。
1万+

被折叠的 条评论
为什么被折叠?



