常用的正则表达式及jQuery.validator运用正则验证

1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位; 2.验证电话号码:("^(\d{3.4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;  

3.验证身份证号(15位或18位数字):("^\d{15}|\d{18}$");   

4.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");  

5.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$") ;   

6.整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$   

7.只能输入数字:"^[0-9]*$"。   

8.只能输入n位的数字:"^\d{n}$"。   

9.只能输入至少n位的数字:"^\d{n,}$"。   

10.只能输入m~n位的数字:。"^\d{m,n}$"   

11.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。   

12.只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。   

13.只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。   

14.只能输入非零的正整数:"^\+?[1-9][0-9]*$"。   

15.只能输入非零的负整数:"^\-[1-9][]0-9"*$。   

16.只能输入长度为3的字符:"^.{3}$"。   

17.只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。   

18.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。   

19.只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。   

20.验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。   

21.只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"   

22.验证URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。  

23.验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。  

24.验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。


jQuery.validator运用自定义正则验证实例:


//年份
jQuery.validator.addMethod("isOnlyNumber", function(value, element) {   
        var tel = /^[1|2][0-9]{3}$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入正确的年份");
//中文英文数字组合
jQuery.validator.addMethod("isGroup", function(value, element) {   
        var tel = /^[\u4E00-\u9FA5A-Za-z0-9]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许中文英文数字组合");
//中文英文数字组合
jQuery.validator.addMethod("isGroupPart1", function(value, element) {   
        var tel = /^[\u4E00-\u9FA5A-Za-z0-9()()]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许中文英文数字部分中文符号()()组合");
//中文英文数字部分中文符号组合
jQuery.validator.addMethod("isGroupPart", function(value, element) {   
        var tel = /^[\u4E00-\u9FA5A-Za-z0-9。,、]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许中文英文数字部分中文符号。,、组合");
//英文数字组合(密码)
jQuery.validator.addMethod("isPassword", function(value, element) {   
        var tel = /^[A-Za-z0-9]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许英文数字组合");
//英文数字组合(账号)
jQuery.validator.addMethod("isAccount", function(value, element) {   
        var tel = /^[A-Za-z0-9]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许英文数字组合");
//车牌号
jQuery.validator.addMethod("isPlateNumber", function(value, element) {   
        var tel=/^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5,6}$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入正确的车牌号码");

//中文组合
jQuery.validator.addMethod("isChinese", function(value, element) {   
        var tel = /^[\u4e00-\u9fa5]{0,}$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许为中文");
    
//中文或英文
jQuery.validator.addMethod("isChineseAndEnglish", function(value, element) {   
        var tel =/^[\u4E00-\u9FA5A-Za-z]+$/;
        return this.optional(element) || (tel.test(value));
    }, "此字段只允许中文或英文");
//电话号码
jQuery.validator.addMethod("phone", function(value, element) {   
        var tel =/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入有效的手机号码或座机号码");
//手机号码
jQuery.validator.addMethod("cellPhone", function(value, element) {   
        var tel =/1[3|5|7|8|][0-9]{9}$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入有效的手机号码");
//身份证号码
jQuery.validator.addMethod("IDCard", function(value, element) {   
        var tel =/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        return this.optional(element) || (tel.test(value));
    }, "请输入有效的身份证号码");
//经度
jQuery.validator.addMethod("longitudeCheck", function(value, element) {   
        var tel =/^-?(?:(?:180(?:\.0{1,10})?)|(?:(?:(?:1[0-7]\d)|(?:[1-9]?\d))(?:\.\d{1,10})?))$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入有效的百度地图经度格式,如:104.0722270000");
//纬度
jQuery.validator.addMethod("latitudeCheck", function(value, element) {   
        var tel =/^-?(?:90(?:\.0{1,10})?|(?:[1-8]?\d(?:\.\d{1,10})?))$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入有效的百度地图纬度格式,如:30.6634560000");


实例:

jsp:

<form id="stationBaseInfoSet" name="stationBaseInfoSet" rel="stationBaseInfoSetInput" method="post">
 
  
  <table class="input">
    <s:hidden key="stationBaseInfoSetBean.serviceStationId" />
    <s:hidden key="stationBaseInfoSetBean.userId" />
	<s:hidden key="stationBaseInfoSetBean.version" />
	<s:hidden key="readOnly"/>
	<input type="hidden" id="status" value="<%=EnterpriseStatus.PASS.getValue()%>"/>
    <tr>
      <th>公司名称</th>
      <td colspan="3">
         <s:textfield key="stationBaseInfoSetBean.enterpriseName"  cssClass="inputtext w-100p required isGroupPart1" maxlength="60" disabled="%{readOnly}"/>           
      </td>
    </tr>
    
    <tr>
      <th>公司地址</th>
      <td colspan="3">
         <s:select key="area" list="areas" listKey="areaId" listValue="areaName" disabled="%{readOnly}" />
         <s:hidden key="stationBaseInfoSetBean.areaId" /> 
         <s:hidden key="stationBaseInfoSetBean.areaName" /> 
                             地域
         <s:select key="province" list="provinces" listKey="provinceId" listValue="provinceName" disabled="%{readOnly}" />
         <s:hidden key="stationBaseInfoSetBean.provinceId" /> 
         <s:hidden key="stationBaseInfoSetBean.provinceName" /> 
                               省
         <s:select key="city" list="citys" listKey="cityId" listValue="cityName" disabled="%{readOnly}"/>
         <s:hidden key="stationBaseInfoSetBean.cityId" />
         <s:hidden key="stationBaseInfoSetBean.cityName" />
                               市
        <s:select key="district" list="citys" listKey="districtId" listValue="districtName" cssClass="required" disabled="%{readOnly}" />
		<s:hidden key="stationBaseInfoSetBean.districtId" />
		<s:hidden key="stationBaseInfoSetBean.districtName" />
                            区    <input name="btnAddNewCityOrDistrict" id="btnAddNewCityOrDistrict" type="button" class="button" value="未找到所在地址,点此添加"/>
        <br />
        <br />
        <s:textfield key="stationBaseInfoSetBean.street" placeholder="街道详细地址" cssClass="inputtext w-100p required" maxlength="60" disabled="%{readOnly}" />
    </tr>
       <s:set var="PASS"><%=EnterpriseStatus.PASS.getValue()%></s:set>
 	<s:if test="%{readOnly||stationBaseInfoSetBean.status==#PASS}">   
    <tr>
      <th>经度</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.longitude" cssClass="inputtext required longitudeCheck" maxlength="30" disabled="%{!readOnly}" />
        </td>
      <th>纬度</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.latitude" cssClass="inputtext required latitudeCheck" maxlength="30" disabled="%{!readOnly}" />
        </td>
    </tr>
    </s:if>
    <tr>
      <th>营业执照号</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.businessLicense" cssClass="inputtext required digits"  maxlength="15" disabled="%{readOnly}" />
        </td>
      <th>资金性质</th>
         <td>
          <s:textfield key="stationBaseInfoSetBean.commercialProperties" cssClass="inputtext required isChinese" maxlength="60" disabled="%{readOnly}" />
         </td>
    </tr>
    <tr>
      <th>法人代表</th>
         <td>
           <s:textfield key="stationBaseInfoSetBean.legalRepresentative" cssClass="inputtext required isChineseAndEnglish" maxlength="10" disabled="%{readOnly}" />
         </td>
      <th>注册资金</th>
	    <td>
	    	<s:textfield key="stationBaseInfoSetBean.registeredCapital" cssClass="inputtext required digits"  maxlength="19" disabled="%{readOnly}" />
	     (单位:万元)
	    </td>
    </tr>
    <tr>
      <th>经营范围</th>
         <td>
           <s:textfield key="stationBaseInfoSetBean.scopeBusiness" cssClass="inputtext required isGroupPart" maxlength="100" disabled="%{readOnly}" />
         </td>
      <th>所属行业</th>
         <td>
           <s:textfield key="stationBaseInfoSetBean.industry" cssClass="inputtext required isGroup" maxlength="50" disabled="%{readOnly}" />
         </td>
    </tr>
    <tr>
      <td colspan="4"><hr size="1" class="line" /></td>
    </tr>   
    <tr>
      <th>企业邮箱</th>
         <td>
           <s:textfield key="stationBaseInfoSetBean.enterpriseMailbox" cssClass="inputtext required email" maxlength="30" disabled="%{readOnly}" />
         </td>
      <th>联系电话</th>
         <td>
           <s:textfield key="stationBaseInfoSetBean.contactNumber" cssClass="inputtext required phone" disabled="%{readOnly}" />
         </td>
    </tr>
    <tr>
      <th>经办人</th>
          <td>
            <s:textfield key="stationBaseInfoSetBean.operator" cssClass="inputtext required isChineseAndEnglish" maxlength="10" disabled="%{readOnly}" />
          </td>
      <th>经办人电话</th>
          <td>
            <s:textfield key="stationBaseInfoSetBean.operatorContactNumber" cssClass="inputtext required phone" disabled="%{readOnly}" />
          </td>
    </tr>
    <tr>
          <th>经办人邮箱</th>
          <td>
            <s:textfield key="stationBaseInfoSetBean.operatorMailbox" cssClass="inputtext required email" maxlength="30" disabled="%{readOnly}" />
          </td>
          <th>备注</th>                
          <td>
            <s:textfield key="stationBaseInfoSetBean.comment" cssClass="inputtext w-100p"  maxlength="200" disabled="%{readOnly}" />
          </td>
    </tr>
 
    
    <tr>
      <th>服务站名称</th>
          <td>
            <s:textfield key="stationBaseInfoSetBean.serviceStationName" cssClass="inputtext required isGroupPart1" maxlength="30" disabled="%{readOnly}" />
          </td>
      <th>可容纳托盘数</th>
          <td>
            <s:textfield key="stationBaseInfoSetBean.depositAmount" cssClass="inputtext digits" data-rule-required="true" maxlength="10" disabled="%{readOnly}" />
          </td>
    </tr>    
    <tr>
      <td colspan="4"><hr size="1" class="line" /></td>
    </tr>
    <tr>
      <th>银行名称</th>
        <td>
          <s:select key="stationBaseInfoSetBean.bankId" list="banks" listKey="id" listValue="bankName" disabled="%{readOnly}" />
        </td>
        <th>银行帐户类型</th>
	        <td>
	          <s:select key="stationBaseInfoSetBean.accountType" list="accountTypeList" listKey="dictdataValue" listValue="dictdataName" disabled="%{readOnly}" />
	    </td>
    </tr>   
    <tr>
      <th>账号</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.bankAccount"  cssClass="inputtext w-100p digits" data-rule-required="true"  maxlength="20" disabled="%{readOnly}" />
        </td>
        <th>账户名称</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.bankName" cssClass="inputtext required isGroupPart1" maxlength="30" disabled="%{readOnly}" />
        </td>
    </tr>   
      <tr>
          <s:if test="%{readOnly}">	         	       
	      <th>银行号</th>
      		<td>
      	    <s:textfield key="stationBaseInfoSetBean.numberBank" cssClass="inputtext required" maxlength="100" readonly="%{readOnly}" />
      	  </td>    	        
	     </s:if>  
	      <th>开户行名称</th>
	        <td colspan="3">
	           <s:if test="%{readOnly||stationBaseInfoSetBean.status==#PASS}">	
	           <s:textfield key="stationBaseInfoSetBean.nameBank" cssClass="inputtext required" style="width:350px" maxlength="100" disabled="%{!readOnly}" />
	            <a href="javascript:void(0);" id="btnSearchNumberBank" class="button">查询银行号</a> 
	          </s:if>
	          <s:else>
	            <s:textfield key="stationBaseInfoSetBean.nameBank" cssClass="inputtext required" style="width:350px" maxlength="100" disabled="%{readOnly}" />
	                          【注:开户行就是指办理开户手续的营业网点,查询开户号地址请咨询银行客服!】
	         </s:else>
	       </td>      
	   </tr>
	 <tr>
       <th>支付宝账号</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.alipayId" cssClass="inputtext required" maxlength="30" disabled="%{readOnly}" />
        </td>
      <th>支付宝账号名</th>
        <td>
          <s:textfield key="stationBaseInfoSetBean.alipayName" cssClass="inputtext required" maxlength="30" disabled="%{readOnly}" />
        </td>
    </tr>
    <tr>
       <th>企业状态</th>
        <td colspan="3">
          <s:textfield key="stationBaseInfoSetBean.statusName"  cssClass="inputtext"  data-rule-required="true"  maxlength="2" disabled="true" />
          <s:hidden key="stationBaseInfoSetBean.statusName" />
        </td>
    </tr>
	<s:if test="%{readOnly||stationBaseInfoSetBean.status==#PASS}">				
			 <tr>
				<th>标签单价</th>
	      		<td>
                   <s:textfield key="stationBaseInfoSetBean.labelUnit" cssClass="inputtext required number" maxlength="19" disabled="%{!readOnly}" />元/片	  
             		</td>
	      		 <th>贴标签人工单价</th>
	      		<td>
	      		<s:textfield key="stationBaseInfoSetBean.labelingUnit" cssClass="inputtext required number" maxlength="19" disabled="%{!readOnly}" />元/片
	      		</td>
	      	</tr>
	      	<tr>
				<th>入库费单价</th>
	      		<td>
	      		<s:textfield key="stationBaseInfoSetBean.storageUnit" cssClass="inputtext required number" maxlength="19" disabled="%{!readOnly}" />元/片
	      		</td>
	      		 <th>出库费单价</th>
	      		<td>
	      		<s:textfield key="stationBaseInfoSetBean.outboundUnit" cssClass="inputtext required number" maxlength="19" disabled="%{!readOnly}" />元/片
	      		</td>
	      	</tr>
	      	<tr>
				<th>分拣费单价</th>
	      		<td colspan="3">
	      		<s:textfield key="stationBaseInfoSetBean.sortUnit" cssClass="inputtext required number" maxlength="19" disabled="%{!readOnly}" />元/片
	      		</td>	      		
	      	</tr>			
	</s:if>
  
    <tr>
      <td colspan="4" class="submit">
			<input id="save" type="submit" href="javascript:void(0);" class="button" value="保存" />
		    <s:hidden key="stationBaseInfoSetBean.status"/> 
      </td>
    </tr>
  </table>

js:

	// 提交页面、 验证
	$("#stationBaseInfoSet").validate({
		submitHandler:function(form) {
			// 验证OK回调 
			
//			$("#stationBaseInfoSet").attr("action", "stationBaseInfoSet");
//			form.submit();
						
			// 阻止表单提交
			return false;
		},
		invalidHandler : function(form, validator) { // 验证NG回调 
			// 阻止表单提交
			return false;
		}
	});





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值