正则表达式控制Input输入内容 ,js正则验证方法大全
Posted chaoyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式控制Input输入内容 ,js正则验证方法大全相关的知识,希望对你有一定的参考价值。
https://blog.csdn.net/xushichang/article/details/4041507
正则表达式控制Input输入内容
不能输入中文
<input type="text" name="textfield" onkeyup="this.value=this.value.replace(/[^/da-z_]/ig,‘‘);"/>
只能输入 数字和下划线
<input onkeypress="return (/[/d_]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled" />
只能输入 数字和小数点
<input onkeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled" />
只允许输入汉字</br>
<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,‘‘)">
其一,只允许输入数字和小数点。
<input onKeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">
其二,判断的更详细一些,甚至22..2这样不算数字也判断得出来
<script>
function check(){
if (isNaN(tt.value))
{alert("非法字符!");
tt.value="";}
}
</script>
<input type="text" name="tt" onkeyup="check();">
其三,只允许输入整数。其实也完全可以根据第三条来举一反三做一些限制。
<script language=javascript>
function onlyNum()
{
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
event.returnValue=false;
}
</script><input onkeydown="onlyNum();" style="ime-mode:Disabled>
结语,其实
style="ime-mode:Disabled
这句是比较实用的。意为关闭输入法。省得有些人开着全角输入数字,结果输入不进去来找你哭天抹泪的,还怪你设计的不好。
只允许输入数字
<input name="username" type="text" onkeyup="value=this.value.replace(//D+/g,‘‘)">
只允许输入英文字母、数字和下划线(以下二种方法实现)
<input name="username" type="text" style="ime-mode:disabled">
<input name="username" type="text" onkeyup="value=value.replace(/[^/w/.//]/ig,‘‘)">
只允许输入英文字母、数字和&[email protected]
<input name="username" type="text" onkeyup="value=value.replace(/[^/[email protected]&]|_/ig,‘‘)">
只允许输入汉字
<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,‘‘)">
https://blog.csdn.net/lqh4188/article/details/44037245
1.JS正则验证示例
-
-
<div>
-
<%--只可录入数字,直接用正则就可以--%>
-
<input type="text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" />
-
<%--验证百分比,使用JS正则验证--%>
-
<input type="text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" onblur="checkPercent(this)" />
-
<%--验证电话号码,使用JS正则验证--%>
-
<input type="text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" onblur="checkMobile(this.value)" />
-
</div>
-
<!--JS 正则验证显示-->
-
<script type="text/javascript">
-
//验证百分比
-
function checkPercent(obj) {
-
if (obj.value != "") {
-
var str = obj.value;
-
var pattern = /^([1-9]{1}[0-9]{0,1}|0)(.d{1,2}){0,1}$/;
-
if (!str.match(pattern)) {
-
alert("格式错误,有效格式如:88.88%(整数最多两位,小数位最多为两位)");
-
obj.value = "";
-
obj.focus();
-
return false;
-
}
-
}
-
return true;
-
}
-
//验证电话
-
function checkMobile(s) {
-
if (trim(s) != "") {
-
var regu = /^[1][3-8][0-9]{9}$/;
-
var re = new RegExp(regu);
-
if (re.test(s)) {
-
alert(s);
-
return true;
-
} else {
-
alert("电话录入格式错误");
-
return false;
-
}
-
}
-
}
-
//验证电话
-
var checkPhone = function () {
-
var $phone = $("#memberPhone");
-
if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9])d{8}$/i.test($phone.val()))
-
{
-
alert("温馨提示:请输入正确手机号!");
-
$phone.focus();
-
return;
-
}
-
}
-
</script>
-
<!--JS trim()方法-->
-
<script type="text/javascript">
-
function trim(str) { //删除左右两端的空格
-
return str.replace(/(^s*)|(s*$)/g, "");
-
}
-
function ltrim(str) { //删除左边的空格
-
return str.replace(/(^s*)/g, "");
-
}
-
function rtrim(str) { //删除右边的空格
-
return str.replace(/(s*$)/g, "");
-
}
-
</script>
2.正则验证示例
说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理。
说明 | 正则表达式 |
---|---|
网址(URL) | [a-zA-z]+://[^s]* |
IP地址(IP Address) | ((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?) |
电子邮件(Email) | w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* |
QQ号码 | [1-9]d{4,} |
html标记(包含内容或自闭合) | <(.*)(.*)>.*</1>|<(.*) /> |
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上) | (?=^.{8,}$)(?=.*d)(?=.*W+)(?=.*[A-Z])(?=.*[a-z])(?!.* ).*$ |
日期(年-月-日) | (d{4}|d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9])) |
日期(月/日/年) | ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(d{4}|d{2}) |
时间(小时:分钟, 24小时制) | ((1|0?)[0-9]|2[0-3]):([0-5][0-9]) |
汉字(字符) | [u4e00-u9fa5] |
中文及全角标点符号(字符) | [u3000-u301eufe10-ufe19ufe30-ufe44ufe50-ufe6buff01-uffee] |
中国大陆固定电话号码 | (d{4}-|d{3}-)?(d{8}|d{7}) |
中国大陆手机号码 | 1d{10} |
中国大陆邮政编码 | [1-9]d{5} |
中国大陆身份证号(15位或18位) | d{15}(dd[0-9xX])? |
非负整数(正整数或零) | d+ |
正整数 | [0-9]*[1-9][0-9]* |
负整数 | -[0-9]*[1-9][0-9]* |
整数 | -?d+ |
小数 | (-?d+)(.d+)? |
不包含abc的单词 | ((?!abc)w)+ |
3.正则替换字符串中图片标签
4.正则匹配所有p标签
以上是关于正则表达式控制Input输入内容 ,js正则验证方法大全的主要内容,如果未能解决你的问题,请参考以下文章
js正则表达式:6-20位,可以为数字或者英文,最少一个英文。请问正则表达式怎么写
JS 正则表达式:如 <input type="text" onkeyup="this.value=this.value.replace(/\D