身份证校验
function idnoCheck(idcard,refcomp){
if(!idcard){
return true;
}
if(Horn.getComp(refcomp).getValue() == "0"){
if(!(idcard.length==15 || idcard.length==18)){
return "身份证号码位数必须为15或18" ;
}
var ret = "身份证校验失败" ;
var a = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var b = ['1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'];
if (!/^\d{15}$/.test(idcard)
&& !/^\d{17}[\d x X]$/.test(idcard)) {
return ret;
}
var subValue = (idcard.length == 15) ? "19"
+ idcard.slice(6, 15) : idcard.slice(6, 17);
// 获取出生年月日
var year = parseInt(subValue.slice(0, 4), 10);
var month = parseInt(subValue.slice(4, 6), 10);
var day = parseInt(subValue.slice(6, 8), 10);
var date = new Date(year, month, day);
// 是否为正确日期(比较输入和转换后的日期)
if (date.getFullYear() != year && date.getMonth() != month
&& date.getDate() != day) {
return ret;
};
if (idcard.length == 18) {
var sum = 0;
for (var i = 0; i <= 16; i++) {
sum += idcard.charAt(i) * a[i];
}
var index = sum % 11;
var value = b[index];
// 18 位验证码不对
if (idcard.slice(17, 18).toLowerCase() != value
.toLowerCase()) {
return ret;
}
}
return true;
}else{
return true;
}
function mobileTelCheck(mobileTel, refcomp){
//var pattern=/(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/;
var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,4}[0-9]{3,7}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[2|3|4|5|6|7|8|9][0-9]{9}$)/;
if(pattern.test(mobileTel)) {
return true;
} else {
return "必须是固定电话或手机号码";
}
function mobileTelCheck1(mobileTel, refcomp){
var pattern=/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;
if(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(mobileTel)||/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(mobileTel)) {
return true;
} else {
return "必须是固定电话或手机号码";
}
}
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
String.prototype.isTel = function(){
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function emailCheck(email, refcomp){
//var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var pattern = /^([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(pattern.test(email)){
return true;
}else{
return "邮箱校验失败";
}
function urlCheck(url, refcomp) {
var pattern = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re = new RegExp(pattern);
if (re.test(url)){
return true;
}else{
return "网址校验失败";
}
function zipCodeCheck(zipcode) {
var pattern = /^[1-9][0-9]{5}$/;
if(pattern.test(zipcode)){
return true;
}else{
return "邮编校验失败";
}
function faxCheck(fax) {
//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)
var pattern = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
if(pattern.test(fax)){
return true;
}else{
return "必须是'区号-电话号码',例如:027-86731234";
}
function msnCheck(msn) {
var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if(pattern.test(msn)){
return true;
}else{
return "MSN校验失败";
}
}
资金校验
function fundCheck(fund) {
var pattern = /^\d+\.?\d*$/;
if(pattern.test(fund)){
return true;
}else{
return "必须是纯数字或者带小数点的数字,例如:100或者100.00";
}
}
国籍和身份证的校验
function nationalityChange(that){
var val1 = Horn.Field.get(that).getValue();
var val2 = Horn.Field.getValue('clientInfo.id_kind');
if(!val2){
return;
}
if( ((val1 == "CHN") && ("1GHIQRS".indexOf(val2) >= 0)) || ((val1 != "CHN") && ("1GHIQRS".indexOf(val2) < 0 ))){
alert("国籍与证件类别不匹配!");
if(val2=='0'){
Horn.Field.get(that).setValue("CHN");
}else{
Horn.Field.get(that).setValue("");
}
}
function idnoCheck(idcard,refcomp){
if(!idcard){
return true;
}
if(Horn.getComp(refcomp).getValue() == "0"){
if(!(idcard.length==15 || idcard.length==18)){
return "身份证号码位数必须为15或18" ;
}
var ret = "身份证校验失败" ;
var a = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var b = ['1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'];
if (!/^\d{15}$/.test(idcard)
&& !/^\d{17}[\d x X]$/.test(idcard)) {
return ret;
}
var subValue = (idcard.length == 15) ? "19"
+ idcard.slice(6, 15) : idcard.slice(6, 17);
// 获取出生年月日
var year = parseInt(subValue.slice(0, 4), 10);
var month = parseInt(subValue.slice(4, 6), 10);
var day = parseInt(subValue.slice(6, 8), 10);
var date = new Date(year, month, day);
// 是否为正确日期(比较输入和转换后的日期)
if (date.getFullYear() != year && date.getMonth() != month
&& date.getDate() != day) {
return ret;
};
if (idcard.length == 18) {
var sum = 0;
for (var i = 0; i <= 16; i++) {
sum += idcard.charAt(i) * a[i];
}
var index = sum % 11;
var value = b[index];
// 18 位验证码不对
if (idcard.slice(17, 18).toLowerCase() != value
.toLowerCase()) {
return ret;
}
}
return true;
}else{
return true;
}
}
function mobileTelCheck(mobileTel, refcomp){
//var pattern=/(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/;
var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,4}[0-9]{3,7}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[2|3|4|5|6|7|8|9][0-9]{9}$)/;
if(pattern.test(mobileTel)) {
return true;
} else {
return "必须是固定电话或手机号码";
}
}
function mobileTelCheck1(mobileTel, refcomp){
var pattern=/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;
if(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(mobileTel)||/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(mobileTel)) {
return true;
} else {
return "必须是固定电话或手机号码";
}
}
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
String.prototype.isTel = function(){
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function emailCheck(email, refcomp){
//var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var pattern = /^([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(pattern.test(email)){
return true;
}else{
return "邮箱校验失败";
}
}
function urlCheck(url, refcomp) {
var pattern = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re = new RegExp(pattern);
if (re.test(url)){
return true;
}else{
return "网址校验失败";
}
}
function zipCodeCheck(zipcode) {
var pattern = /^[1-9][0-9]{5}$/;
if(pattern.test(zipcode)){
return true;
}else{
return "邮编校验失败";
}
}
function faxCheck(fax) {
//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)
var pattern = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
if(pattern.test(fax)){
return true;
}else{
return "必须是'区号-电话号码',例如:027-86731234";
}
}
function msnCheck(msn) {
var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if(pattern.test(msn)){
return true;
}else{
return "MSN校验失败";
}
}
资金校验
function fundCheck(fund) {
var pattern = /^\d+\.?\d*$/;
if(pattern.test(fund)){
return true;
}else{
return "必须是纯数字或者带小数点的数字,例如:100或者100.00";
}
}
国籍和身份证的校验
function nationalityChange(that){
var val1 = Horn.Field.get(that).getValue();
var val2 = Horn.Field.getValue('clientInfo.id_kind');
if(!val2){
return;
}
if( ((val1 == "CHN") && ("1GHIQRS".indexOf(val2) >= 0)) || ((val1 != "CHN") && ("1GHIQRS".indexOf(val2) < 0 ))){
alert("国籍与证件类别不匹配!");
if(val2=='0'){
Horn.Field.get(that).setValue("CHN");
}else{
Horn.Field.get(that).setValue("");
}
}
}
固定电话校验
function phoneTelCheck(mobileTel){
var pattern=/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}(-(\d{3,}))?$/;
if(pattern.test(mobileTel)) {
return true;
} else {
return "必须是固定电话";
}
}
QQ校验
function QQcheck(str){
var badChar= "0123456789";
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
}else{
return "输入非法,不是数字";
}
}
return true;
}