清空字符串的空格(正则表达式)
/\s+/g和/\s/g的区别
正则表达式/\s+/g和/\s/g,目的均是找出目标字符串中的所有空白字符,但两者到底有什么区别呢?
我们先来看下面一个例子:
let name = 'ye wen jun';
let ans = name.replace(/\s/g, ''); // 'yewenjun'
let ans2 = name.replace(/\s+/g, ''); // 'yewenjun'
从上面那个例子我们看到结果没有区别,那我们在换个例子看看
let name = 'ye wen jun';
let ans = name.replace(/\s/g, '#'); // "ye###wen####jun"
let ans2 = name.replace(/\s+/g, '#'); // "ye#wen#jun"
现在可以很清楚的可以看到,+的意思就是从遇到第一个匹配的字符起,继续匹配,直到匹配失败,把这段匹配到的字符替换为#,
而不带+的是把匹配到的字符一个一个替换为#
js里elm.value.replace(/[\s ]+/g, ''),是什么意思,需要详细解释,比如/[\s]是什么意思
elm是表单吧.将elm表单的值中的空白字符替换.
replace字符串的替换方法.
/[\s ]+/g正则表达式./xxxx/两个斜杠表示这个是正则表达式.后面的g表示匹配全部(即替换全部),[\s]表示匹配空白字符(空格等什么的),+号表示至少有一个.更详细的用法请查看正则表达式.
replace字符串的替换方法.
/[\s ]+/g正则表达式./xxxx/两个斜杠表示这个是正则表达式.后面的g表示匹配全部(即替换全部),[\s]表示匹配空白字符(空格等什么的),+号表示至少有一个.更详细的用法请查看正则表达式.
去除空格,只输入字符串
onkeyup="this.value=this.value.replace(/\s/g,'')"
onafterpaste="this.value=this.value.replace(/\s/g,'')"
只允许输入数字
onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')"
onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
正则表达式
只能输入纯数字onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" ;onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
onkeyup="this.value=this.value.replace(/\D/g,'')";
onafterpaste="this.value=this.value.replace(/\D/g,'')";
只能输入中文
开头不能为0,不能有小数点
onkeyup="this.value=this.value.replace(/\D|^0/g,'')" onafterpaste="this.value=this.value.replace(/\D|^0/g,'')"
开头不能为0
<div class="input-choseNum">
<input type="number" id="inp-chooseNum" oninput='this.value=this.value.replace(/^[0]+[0-9]*$/gi,"")' maxlength="5" />
<span class="sureChoose">确定</span><span class="closeChoose">取消</span>
</div>