限制输入数字、字母、短横线
<input onkeyup="this.value=this.value.replace(/[^\w\-]/g,'')" onpaste="this.value=this.value.replace(/[^\w\-]/g,'')" />
onpaste 事件在用户向元素中粘贴文本时触发。
限制输入数字、一个小数点
<input onkeyup="this.value=this.value.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" />
限制只能输入数字
<input onkeyup="this.value=this.value.replace(/[^\d]/g,'');" type="text" />
限制只能输入中文
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
限制不能输入空格
<input onkeyup="this.value=this.value.replace(/^ +| +$/g,'')" />
验证手机号
规则是:第一位是【1】开头,第二位则则有【3,4,5,6,7,8,9】,第三位则是【0-9】,第三位之后则是数字【0-9】。从而我们可以得出一个符合当前的手机号码验证正则表达式。
// 以下两种验证规则相同 var reg1 = /^1[3|4|5|6|7|8|9][0-9]{9}$/; var reg2 = /^[1][3,4,5,6,7,8,9][0-9]{9}$/; var phoneNum = '18001356755'; //手机号码 var flag = reg1.test(phoneNum); //true
但我们可以做的更灵活,还可以不验证第二位规则:因为谁也不确定以后还新增什么开头?
ar reg = /^1[0-9]{10}$/;
防止 XSS 攻击
xssFilter(keys); xssFilter (orgString) { orgString = orgString.replace(/</g, '').replace(/>/g, ''); return orgString; }
验证邮箱
规则:以数字字母开头,中间可以是多个数字字母下划线或 “-” ,然后是 “@” 符号,后面是数字字母,然后是 “.” 符号加2-4 个字母结尾。
<input type="text" placeholder="请输入邮箱" id="email"> <script> email.onchange = function(){ var email = this.value; var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/; if(reg.test(email)){ alert("邮箱格式正确"); }else{ alert("邮箱格式不正确"); } } </script>
原文链接:HelloWeb前端网 » Js常用正则表达式 » 感谢您的浏览,希望能有所帮助。
欢迎您加入“Helloweb” 学习交流群:
196291215 共同交流并结识同行,在这里说出您的收获与感想或有什么不同的观点,我们期待您的留言,分享,让我们一起进步!