学习正则表达式的一点练习与测试

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.     <title>无标题页</title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. var regx = /^[A-Za-z0-9_]*$/g; // 只能由数字,字母,下划线组成
  9. var a = regx.test('justokkjks');
  10. var emailRegx = /^[/w-]+@([a-z0-9-]+/.)+[a-z0-9]{2,3}$/g  //验证邮箱格式
  11. var b = emailRegx.test('kdddco-m_j@bj_love.com.cn');
  12. //alert(b);
  13. var dot = /a.b/g;
  14. var c = dot.test('a(b');    // .匹配任何单个字符
  15. //alert(c);
  16. //                 /d 匹配数字      /w 匹配数字字母下划线      /n 匹配换行     /s匹配空格
  17. var str = 'textAlign';
  18. var repreg = /([A-Z])/g;
  19. var tostr = str.replace(/([A-Z])/g, '-$1'); // $用于记录正则匹配中的字符,如$1就是匹配的第一个字符
  20. tostrtostr = tostr.toLowerCase();
  21. //alert(tostr);  
  22. var classReg = new RegExp('(^|//s)'+ 'ok' + '(//s|$)');
  23. var elemClass = 'kkdd ok'; // or elemClass='ok'
  24. var d = classReg.test(elemClass);
  25. alert(d);  
  26. // 实际中用到如上正则的一个例子,根据className获得元素
  27. function getElementsByClassName(oElem, strTagName, strClassName){
  28.     var arrElements = (strTagName == '*' && oElem.all) ? oElem.all : oElem.getElementsByTagName(strTagName) ;
  29.     var returnArrElements = new Array();
  30.     var oRegExp =  new RegExp('(^|//s)' + strClassName + '($|//s)');
  31.     for(var i=0; i<arrElements.length; i++){
  32.         if (oRegExp.test(arrElements[i].className)){
  33.             returnArrElements.push(arrElements[i]);
  34.             }
  35.         }
  36.     return (returnArrElements);
  37. }
  38. 描述:有一表单,其中有一个“用户名”input域
    要求:汉字,而且不能少于2个汉字,不能多于4个汉字。
    实现:
    <script>
    function checkForm(obj){
         var username=obj.username.value;
         var regx=/^[/u4e00-/u9fa5]{2,4}$/g
         if(!regx.test(username)){
                   alert(“Invalid username!”);
                   return false;
         }
         return true;
    }
    </script>
  39. </script>
  40. </body>
  41. </html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值