加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式控制Input输入内容 ,js正则验证方法大全

发布时间:2020-12-14 06:17:09 所属栏目:百科 来源:网络整理
导读:https://blog.csdn.net/xushichang/article/details/4041507 正则表达式控制Input输入内容 2009年04月01日 17:15:00 阅读数:21747 ?不能输入中文 ?input type="text" name="textfield"? onkeyup="this.value=this.value.replace(/[^/da-z_]/ig,‘‘);"/ 只

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正则验证示例

?

  1. ?
    ?
  2. ?
    <div>
  3. ?
    <%--只可录入数字,直接用正则就可以--%>
  4. ?
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" />
  5. ?
    <%--验证百分比,使用JS正则验证--%>
  6. ?
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" onblur="checkPercent(this)" />
  7. ?
    <%--验证电话号码,使用JS正则验证--%>
  8. ?
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,‘‘)" onblur="checkMobile(this.value)" />
  9. ?
    </div>
  10. ?
    <!--JS 正则验证显示-->
  11. ?
    <script type= "text/javascript">
  12. ?
    //验证百分比
  13. ?
    function checkPercent(obj) {
  14. ?
    if (obj.value != "") {
  15. ?
    var str = obj.value;
  16. ?
    var pattern = /^([1-9]{1}[0-9]{0,1}|0)(.d{1,2}){0,1}$/;
  17. ?
    if (!str.match(pattern)) {
  18. ?
    alert( "格式错误,有效格式如:88.88%(整数最多两位,小数位最多为两位)");
  19. ?
    obj. value = "";
  20. ?
    obj.focus();
  21. ?
    return false;
  22. ?
    }
  23. ?
    }
  24. ?
    return true;
  25. ?
    }
  26. ?
    //验证电话
  27. ?
    function checkMobile(s) {
  28. ?
    if (trim(s) != "") {
  29. ?
    var regu = /^[1][3-8][0-9]{9}$/;
  30. ?
    var re = new RegExp(regu);
  31. ?
    if (re.test(s)) {
  32. ?
    alert(s);
  33. ?
    return true;
  34. ?
    } else {
  35. ?
    alert( "电话录入格式错误");
  36. ?
    return false;
  37. ?
    }
  38. ?
    }
  39. ?
    }
  1. ?
    //验证电话
  2. ?
    var checkPhone = function () {?
  3. ?
    ? ? var $phone = $("#memberPhone");
  4. ?
    ? ? 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()))?
  5. ?
    ? ? {
  6. ?
    ? ? ? alert( "温馨提示:请输入正确手机号!");
  7. ?
    ? ? ? $phone.focus();
  8. ?
    ? ? ? return;
  9. ?
    ? ? }
  10. ?
    }
  11. ?
    </script>
  12. ?
    <!-- JS trim()方法-->
  13. ?
    <script type="text/javascript">
  14. ?
    function trim(str) { //删除左右两端的空格
  15. ?
    return str.replace(/(^s*)|(s*$)/g,"");
  16. ?
    }
  17. ?
    function ltrim(str) { //删除左边的空格
  18. ?
    return str.replace(/(^s*)/g,"");
  19. ?
    }
  20. ?
    function rtrim(str) { //删除右边的空格
  21. ?
    return str.replace(/(s*$)/g,"");
  22. ?
    }
  23. ?
    </script>

?

2.正则验证示例

说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理。

说明 正则表达式
网址(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])(?!.*n).*$
日期(年-月-日) (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的单词 b((?!abc)w)+b

3.正则替换字符串中图片标签

正则:<s?img[^>]*>
var contesStr = contesStr.replace(/<s?img[^>]*>/gi,‘‘);?

4.正则匹配所有p标签

正则:<S?p> ?
可以匹配<p> ?</p>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读