正则表达式

JAVA中的正则表达式:
需求:判断一个字符串是否包含中文,数字,或字母。
String s = "1中r/";
String[] ss = s.split("");
for(int i=1;i<ss.length;i++){
      Pattern.matches("[a-zA-Z]", ss[i]);//字母
      Pattern.matches("[\u4e00-\u9fa5]", ss[i]);//中文
      Pattern.matches("[0-9]", ss[i]);//数字
}


JQUERY中的正则表达式:
需求:jsp页面有输入密码和再次输入密码,要求这两个密码输入相同,且密码只能由字母或数字或下划线或部分特殊字符(0到9特殊字符)组成,长度最大为32.
本例基于easyui完成。

JQUERY代码:
因为这两个需求easyui本身没有实现,不能直接调用,所以需要先自定义两个方法:
$(function() {
 $.extend($.fn.validatebox.defaults.rules, {  
  equals: {  
   validator: function(value,param){  
              return value == $(param[0]).val();  
          },
          message: '两次输入密码不一致' 
  },
   check: {
          validator: function (value, param) {
              return checkPassword(value,param);
          },
          message: '密码只能由字母或数字或下划线或部分特殊字符组成,且最大长度为{0}'    //{0}表示参数的值,即32
  }
 });
});
思路:把输入的密码值拆分开,如果长度大于32,则返回false,否则,对拆分后的值进行遍历,如果是字母或数字或下划线,则将flag设为true,继续遍历,
      如果是特殊字符,同理,如果两者都不满足,则break。   
var checkPassword = function (value,param) {
 var pattern =/^[A-Za-z0-9_]$/;        //字母或数字或下划线
 var pattern_teshu=/^[!@#$%^&*()]$/;  //特殊字符
       var flag=false;
       var s = value.split('');
       if(s.length>param){
         return flag;
       }
       for(var i=0;i<s.length;i++){
             if (pattern.test(s[i])) {
                  flag = true;
             }
             else if (pattern_teshu.test(s[i])) {
                  flag = true;
             }else{
                  flag = false;
                  break;
             }
        }
       return flag;
}
  
HTML代码:
<tr>
 <th style="text-align: right;">新密码:</th>
 <td><input name="new_psw" validType="check[32]" id="new_psw" type="password" class="easyui-validatebox" data-options="required:true" style="width: 150px;"/></td>
</tr>
<tr>
 <th style="text-align: right;">再次输入:</th>
 <td><input name="confirm" id="confirm" type="password" class="easyui-validatebox" data-options="required:true" validType="equals['#new_psw']" /></td>
</tr>

 

事实上,easyui已经实现了以下规则:
email: 匹配email正则规则 .
url: 匹配URL正则规则 .
length[0,100]: 允许在x到x之间的字符数.
remote['http://.../action.do','paramName']: 发送ajax请求验证值,当成功之后返回'true'.

 

以下是几种常用的正则表达式:
/[^ -~]/     中文/全角字符
/\s/         空格
/^[\u4e00-\u9fa5_a-zA-Z0-9]+$/   中文、字母或数字下划线
/^[A-Za-z0-9_]{1,10}$/           1-10位的数字、字母或下划线

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值