真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java代碼校驗(yàn) java驗(yàn)證

如何用Java代碼段生成四位數(shù)字加字母的驗(yàn)證碼?

不知道你問(wèn)的是不是生成這種圖片驗(yàn)證碼?如果只要一個(gè)隨機(jī)四位數(shù) 那這行代碼就夠了(new Random().nextInt(9000) + 1000;),如果是生成頁(yè)面圖片驗(yàn)證碼就是下面的了: //設(shè)定 響應(yīng)模式 resp.setContentType("image/jpeg"); // 生成令牌環(huán)數(shù)據(jù); Integer token = new Random().nextInt(9000) + 1000; // 保存令牌環(huán)數(shù)據(jù)到session中 req.getSession().setAttribute(IMAGE_TOKEN_NAME, token); // 生成令牌環(huán)圖片 ServletOutputStream out = resp.getOutputStream(); BufferedImage img = new BufferedImage(60, 20, BufferedImage.TYPE_INT_RGB); Graphics g = img.getGraphics(); g.setColor(Color.YELLOW); g.fillRect(0, 0, img.getWidth(), img.getHeight()); g.setColor(Color.BLUE); g.setFont(new Font("", Font.BOLD, 18)); g.drawString(String.valueOf(token), 10, 16); ImageIO.write(img, "jpg", out); out.close();

成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供鄂托克企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為鄂托克眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

下面簡(jiǎn)單的介紹他們的功能和用途,執(zhí)行效率等。每個(gè)都有各自的優(yōu)缺點(diǎn)看你是做甚什么方面的研究開(kāi)發(fā)用。.net,是網(wǎng)站編程,現(xiàn)在很多都用這個(gè),但是這個(gè)語(yǔ)言編程都有統(tǒng)一思路,很好掌握。窒息那個(gè)效率不是很高;php 支持跨平臺(tái),很容易學(xué)會(huì),執(zhí)行的效率很高;asp是ASP.net的前身,它比較穩(wěn)定,比.net要弱一點(diǎn)。但是比.net好學(xué)。jsp 是網(wǎng)頁(yè)編程,這個(gè)學(xué)習(xí)大約一周就能搞定,不過(guò)這個(gè)得多實(shí)踐,不然的話(huà),時(shí)間長(zhǎng)了,就容易忘記。

我自己做的系統(tǒng)里面用作驗(yàn)證碼的JSP的%@page contentType="image/jpeg;charset=utf-8"%%@page import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" %%@ page import="java.io.OutputStream" %html body %! Color getRandColor(int fc,int bc) { Random rd=new Random(); if(fc255) fc=255; if(bc255) bc=255; int red=fc+rd.nextInt(bc-fc); int green=fc+rd.nextInt(bc-fc); int blue=fc+rd.nextInt(bc-fc); return new Color(red,green,blue); } % % Random r=new Random(); response.addHeader("Pragma","No-cache"); response.addHeader("Cache-Control","no-cache"); response.addDateHeader("expires",0); int width=90; int height=23; BufferedImage pic=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics gc=pic.getGraphics(); gc.setColor(getRandColor(200,250)); gc.fillRect(0,0,width,height); String[] rNum ={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f", "g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w", "x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N", "O","P","Q","R","S","T","U","V","W","X","Y","Z"}; int[] style = {Font.PLAIN,Font.BOLD,Font.ITALIC,Font.PLAIN+Font.BOLD, Font.BOLD+Font.ITALIC,Font.PLAIN+Font.ITALIC,Font.PLAIN+Font.BOLD+Font.ITALIC}; gc.setColor(Color.WHITE); gc.drawLine(0,30,90,10); gc.setColor(getRandColor(160,200)); for (int i=0;i50;i++) { int x = r.nextInt(width); int y = r.nextInt(height); int xl = r.nextInt(10); int yl = r.nextInt(10); gc.drawLine(x,y,x+xl,y+yl); } gc.setColor(getRandColor(60,150)); String rt = ""; for(int i=0;i4;i++){ String temp = rNum[r.nextInt(62)]; rt = rt+temp; gc.setFont(new Font("Times New Roman",style[r.nextInt(7)],15)); gc.drawString(temp,5+i*15+r.nextInt(10),10+r.nextInt(10)); } gc.dispose(); session.setAttribute("randNum",rt); OutputStream os=response.getOutputStream(); ImageIO.write(pic,"JPEG",os); System.out.println("當(dāng)前驗(yàn)證碼為:"+session.getAttribute("randNum")); os.flush(); os.close(); os=null; response.flushBuffer(); out.clear(); out = pageContext.pushBody(); % /body/html

java代碼怎么校驗(yàn)身份證號(hào)碼含有非法字符

如果只要判斷有非法的字符(除0-9和Xx外)可用正則表達(dá)式publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereStrings="2142213weqrwe32";StringregEx="[^0-9Xx]";Patternpat=Pattern.compile(regEx);Matchermat=pat.matcher(s);booleanrs=mat.find();if(rs){System.out.print("有非法字符");}另外,校驗(yàn)身份證號(hào)碼有專(zhuān)門(mén)程序的,可直接校驗(yàn)身份證號(hào)是否正確,在自己在網(wǎng)上找下

如何使用java validation api進(jìn)行參數(shù)校驗(yàn)

JAVA中通過(guò)Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證

在開(kāi)發(fā)JAVA服務(wù)器端代碼時(shí),我們會(huì)遇到對(duì)外部傳來(lái)的參數(shù)合法性進(jìn)行驗(yàn)證,而hibernate-validator提供了一些常用的參數(shù)校驗(yàn)注解,我們可以拿來(lái)使用。

1.maven中引入hibernate-validator對(duì)應(yīng)的jar:

dependency

groupIdorg.hibernate/groupId

artifactIdhibernate-validator/artifactId

version4.3.1.Final/version

/dependency

2.在Model中定義要校驗(yàn)的字段(即該字段不能為空,并且最大長(zhǎng)度為14):

import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;

public class PayRequestDto {

/**

* 支付完成時(shí)間

**/

@NotEmpty(message="支付完成時(shí)間不能空")

@Size(max=14,message="支付完成時(shí)間長(zhǎng)度不能超過(guò){max}位")

private String payTime;

public String getPayTime() {

return payTime;

}

public void setPayTime(String payTime) {

this.payTime = payTime;

}

}

3.定義Validation工具類(lèi):

import java.util.Set;

import javax.validation.ConstraintViolation;

import javax.validation.Validation;

import javax.validation.Validator;

import org.hibernate.validator.HibernateValidator;

import com.atai.framework.lang.AppException;

public class ValidationUtils {

/**

* 使用hibernate的注解來(lái)進(jìn)行驗(yàn)證

*

*/

private static Validator validator = Validation

.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();

/**

* 功能描述: br

* 〈注解驗(yàn)證參數(shù)〉

*

* @param obj

* @see [相關(guān)類(lèi)/方法](可選)

* @since [產(chǎn)品/模塊版本](可選)

*/

public static T void validate(T obj) {

SetConstraintViolationT constraintViolations = validator.validate(obj);

// 拋出檢驗(yàn)異常

if (constraintViolations.size() 0) {

throw new AppException("0001", String.format("參數(shù)校驗(yàn)失敗:%s", constraintViolations.iterator().next().getMessage()));

}

}

}

4.在代碼中調(diào)用工具類(lèi)進(jìn)行參數(shù)校驗(yàn):

ValidationUtils.validate(requestDto);

以下是對(duì)hibernate-validator中部分注解進(jìn)行描述:

@AssertTrue 用于boolean字段,該字段只能為true

@AssertFalse 該字段的值只能為false

@CreditCardNumber 對(duì)信用卡號(hào)進(jìn)行一個(gè)大致的驗(yàn)證

@DecimalMax 只能小于或等于該值

@DecimalMin 只能大于或等于該值

@Digits(integer=,fraction=) 檢查是否是一種數(shù)字的整數(shù)、分?jǐn)?shù),小數(shù)位數(shù)的數(shù)字

@Email 檢查是否是一個(gè)有效的email地址

@Future 檢查該字段的日期是否是屬于將來(lái)的日期

@Length(min=,max=) 檢查所屬的字段的長(zhǎng)度是否在min和max之間,只能用于字符串

@Max 該字段的值只能小于或等于該值

@Min 該字段的值只能大于或等于該值

@NotNull 不能為null

@NotBlank 不能為空,檢查時(shí)會(huì)將空格忽略

@NotEmpty 不能為空,這里的空是指空字符串

@Null 檢查該字段為空

@Past 檢查該字段的日期是在過(guò)去

@Pattern(regex=,flag=) 被注釋的元素必須符合指定的正則表達(dá)式

@Range(min=,max=,message=) 被注釋的元素必須在合適的范圍內(nèi)

@Size(min=, max=) 檢查該字段的size是否在min和max之間,可以是字符串、數(shù)組、集合、Map等

@URL(protocol=,host,port) 檢查是否是一個(gè)有效的URL,如果提供了protocol,host等,則該URL還需滿(mǎn)足提供的條件

@Valid 該注解主要用于字段為一個(gè)包含其他對(duì)象的集合或map或數(shù)組的字段,或該字段直接為一個(gè)其他對(duì)象的引用,這樣在檢查當(dāng)前對(duì)象的同時(shí)也會(huì)檢查該字段所引用的對(duì)象


分享題目:java代碼校驗(yàn) java驗(yàn)證
分享地址:http://weahome.cn/article/dogchjd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部