java正则 js正则_java正则用法以及js的正则

java:

import java.io.UnsupportedEncodingException;

import org.apache.oro.text.regex.MalformedPatternException;

import org.apache.oro.text.regex.PatternCompiler;

import org.apache.oro.text.regex.PatternMatcher;

import org.apache.oro.text.regex.Perl5Compiler;

import org.apache.oro.text.regex.Perl5Matcher;

/**

* 入力値チェック

*

* @author pengting

*

*/

public class CheckUnit {

/**

* 入力値チェック

* @param value 入力値

* @param min 最小桁数

* @param max 最大桁数

* @param type 属性

* @return 処理結果(正常:true、エラー:false)

*/

public boolean chkInputRules(String value, int min, int max, int type)

throws MalformedPatternException {

PatternCompiler compiler = new Perl5Compiler();

PatternMatcher matcher = new Perl5Matcher();

if (value.length() >= min && value.length() <= max) {

if (type == 1) {

if (matcher.matches(value, compiler.compile("^[0-9]+$"))) {

return true;

}

} else if (type == 2) {

if (matcher.matches(value, compiler.compile("^[A-Za-z]+$"))) {

return true;

}

} else if (type == 3) {

if (matcher.matches(value, compiler.compile("^[A-Za-z0-9]+$"))) {

return true;

}

} else if (type == 4) {

if (checkZenTaku(value)) {

return true;

}

}else {

return true;

}

}

return false;

}

/**

* 全角チェック

* @param sStr 入力文字列

* @return 処理結果(正常:true、エラー:false)

*/

public static boolean checkZenTaku(String sStr) {

int charNo = 0;

int byteNo = 0;

try {

byte buf[] = sStr.getBytes("UTF-8");

while (charNo < sStr.getBytes("UTF-8").length) {

byteNo = 7;

if ((buf[charNo] >> 7) == 0) {

charNo++;

return false;

} else {

while (((buf[charNo] >> byteNo) & 0x01) != 0) {

byteNo--;

}

charNo = charNo + (7 - byteNo);

}

}

} catch (UnsupportedEncodingException e) {

return false;

}

return true;

}

}

js:

/**

* 入力値チェック

* @param val 入力値

* @param min 最小桁数

* @param max 最大桁数

* @param type 属性    1:数字 2:英字 3:英数字 4:全角文字

* @return 処理結果(正常:true、エラー:false)

*/

function chkInputRules(val, min, max, type) {

if (val.length < min || val.length > max) {

return false;

} else if (type == 1) {

if (isNaN(val)){

return false;

}

} else if (type == 2) {

reg = /^[a-zA-Z]+$/;

if (!reg.test(val)) {

return false;

}

} else if (type == 3) {

reg = /^[a-zA-Z0-9]+$/;

if (!reg.test(val)) {

return false;

}

} else if (type == 4) {

return isZenkaku(val);

}

return true;

}

/**

* 全角文字 かどうかをチェックする

* @param sVal 入力値

* @return 処理結果(正常:true、エラー:false)

*/

function isZenkaku( sVal ) {

var iCode;

for (var i = 0; i

iCode = sVal.charCodeAt (i);

if ((iCode < 127 && iCode != 13 && iCode != 10) || (iCode >= 0xff61 && iCode <= 0xff9f)){

return false;

}

}

return true;

}

/**

*  不正文字入力チェック

* @param val 入力値

* @return 処理結果(正常:true、エラー:false)

*/

function chkInputWrongful(val) {

reg = /[/;/'/"/:/,/|/*/>/=/%/+]+/;

if (reg.test(val)){

return false;

}

return true;

}

/** *  空欄を削除した」と * @param str 入力値 * @return  */function trim(str) { return str.replace(/(^/s*)|(/s*$)/, "");}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值