《js基础-正则表达式》【常用】

 前述:终于抽出时间,整理了一些编程中所需基础知识。

正则表达式:
    一、中文判断:
    var reg = /[\u4e00-\u9fa5]/;
    console.log( reg.test('美好的一天!'));//true

    二、密码验证:由大小写字母、数字、及 * &  % $ # @  _ . 特殊符号组成的8-20位密码。
        var pw = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!*&%$#@_.])[a-zA-Z\d!*&%$#@_.]{8,20}$/;

    三、判断:手机号是否正确:1开头,第二位是3、4、5、7、8中任意一位,之后为0-9组成的9位数,共计11位数。
        var reg = /^[1][3,4,5,7,8][0-9]{9}$/;

    四、验证邮箱:(1)字母数字下划线组合开头,(2)@居中,(3)后加字母数字,(4)再加.英文点 ,(5)后跟2-4字母的组合
          var emailreg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;

    五、验证数字
          var numreg =/^(\-|\+)?\d+(\.\d+)?$/;
    六、验证身份证号码:身份证号码15、18位数;当15位时全为数字,当18位时尾位数为校验位(数字 or 字母x、X)。
        var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

js中应用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js基础-正则表达式 中文、数字、手机号、邮箱、密码</title>
</head>
<body>
<script type="text/javascript">
    console.log("一、中文判断:");
    var reg = /[\u4e00-\u9fa5]/;
    console.log("中文:" + reg.test('美好的一天!'));//true
    console.log("非中文:" + reg.test('info'));//false
    console.log('含中文:' + reg.test('info—_/,.<>天气晴朗'));//true

    console.log('二、密码验证:由大小写字母、数字、及 * &  % $ # @  _ . 特殊符号组成的8-20位密码。');
    var pw = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!*&%$#@_.])[a-zA-Z\d!*&%$#@_.]{8,20}$/;
    console.log("数字:" + pw.test( "2345094920"));//false
    console.log("小写字母::" + pw.test("adddjrle"));//false
    console.log("大写字母:" + pw.test("YUREDGFHVM"));//false
    console.log("大小写字母:" + pw.test("asOPfRweimTTY"));//false
    console.log("大小字母及数字:" + pw.test("EKUIrd899fas7f90l"));//false
    console.log("大小写字母、数字、不含指定特殊字符:" + pw.test("Res049_7d0w,<>sdf"));//false
    console.log("大小写字母、数字、含指定特殊字符、但小于8位:" + pw.test("To@*_6f"));//false
    console.log("大小写字母、数字、含指定特殊字符、但大20位:" + pw.test("Tgeto@*_6fU78%#dd936_lk"));//false
    console.log("大小写字母、数字、含指定特殊字符、8-20位(符合密码要求):" + pw.test("Tgeto@*_6fU78%#"));//true

    console.log('三、判断:手机号是否正确:1开头,第二位是3、4、5、7、8中任意一位,之后为0-9组成的9位数,共计11位数。');
    var reg = /^[1][3,4,5,7,8][0-9]{9}$/;
    console.log('第二位不合规:' + reg.test("19488477631"));//false
    console.log('超过11位:' + reg.test("15249877667890"));//false
    console.log('手机号码合规:' + reg.test("15209877876"));//true

    console.log('四、验证邮箱:(1)字母数字下划线组合开头,(2)@居中,(3)后加字母数字,(4)再加.英文点 ,(5)后跟2-4字母的组合');
    var emailreg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
    console.log('纯数字:'+emailreg.test("2345533345566"));//false
    console.log('数字带@.'+emailreg.test("3455@454.784"));//false
    console.log('@后数字 尾部超4个字母:'+emailreg.test("dsf34@434.jjkket"));//false
    console.log('@后带横杆:'+emailreg.test("df4455@df-h2.45d"));//false
    console.log('@前带横杆(正确邮箱号码):'+emailreg.test("op3495-@df45.ght"));//true
    console.log('结尾超4个字符'+emailreg.test("op3495_@df45.ghtlkhweertc"));//false
    console.log('正确邮箱号码:'+emailreg.test("op3495_@df45.ght"));//true


    console.log('五、验证数字');
    var numreg =/^(\-|\+)?\d+(\.\d+)?$/;
    var num1=2345;
    var num2=-566;
    var num3=23.5;
    var num4=-89.5;
    var num5=34.23;
    var num6=-57.45;
    var num7=45.342;
    var num8=-1.345;
    var num9=5.3478;
    var num10=-9.4531;
    var num11=6.23456;
    var num12=-4.67523;
    var num13=1236527384936274635.45232;
    var num14=-1236527384936274635.67898;
    var num15=1236527384936274635;
    var num16=-1236527384936274635;
    var num17=0;

    console.log('正整数:'+numreg.test(num1));
    console.log('负整数:'+numreg.test(num2));
    console.log('正浮点数,1位小数:'+numreg.test(num3));
    console.log('负浮点数,1位小数:'+numreg.test(num4));
    console.log('正浮点数,2位小数:'+numreg.test(num5));
    console.log('负浮点数,2位小数:'+numreg.test(num6));
    console.log('正浮点数,3位小数:'+numreg.test(num7));
    console.log('负浮点数,3位小数:'+numreg.test(num8));
    console.log('正浮点数,4位小数:'+numreg.test(num9));
    console.log('负浮点数,4位小数:'+numreg.test(num10));
    console.log('正浮点数,5位小数:'+numreg.test(num11));
    console.log('负浮点数,5位小数:'+numreg.test(num12));
    console.log('正浮点超出位数:'+numreg.test(num13));
    console.log('负浮点数超出位数:'+numreg.test(num14));
    console.log('正整数:'+numreg.test(num15));
    console.log('负整数:'+numreg.test(num16));
    console.log('0:'+numreg.test(num17));
    //以上都为true;
    console.log('数字和字母:'+numreg.test("345623jf4sl"));//false
    console.log('字母:'+numreg.test("dddg"));//false
    console.log('中文:'+numreg.test("验证"));//false
    console.log('中文和数字:'+numreg.test("数字7384"));//false
    console.log('中文和数字:'+numreg.test("-=/.;,"));//false

    console.log('六、验证身份证号码:身份证号码15、18位数;当15位时全为数字,当18位时尾位数为校验位(数字 or 字母x、X)。');
    var useridreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    console.log('尾部为K:' + useridreg.test('27349876567825361k'));//false
    console.log('超出位数:' + useridreg.test('78765698293948572637'));//false
    console.log('15位数:' + useridreg.test('123456789012345'));//true
    console.log('18位数:' + useridreg.test('123456789012345678'));//true
    console.log('18位数、X:' + useridreg.test('12345678901234567X'));//true
    console.log('18位数、x:' + useridreg.test('12345678901234567x'));//true
    //未完待续...
</script>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值