js表单提交判断年龄

js表单提交判断年龄,第1张

同上,加以修改

<input type="text" name="y" id="y" /> 年

<input type="text" name="m" id="m" /> 月

<input type="text" name="d" id="d" /> 日

<input type="button" onclick="check()" value="计算" />

您的年龄: <span id="age"></span>

<script type="text/javascript">

function check(){

var _d = documentgetElementById;

var y = _d("y")value;

var m = _d("m")value;

var d = _d("d")value;

var a = _d("age");

if(y==null||m==null||d==null||y==''||m==''||d==''){

alert('请输入年龄');

return false;

}

var bir = new Date(y, m - 1, d);

var now = new Date();

var age_=parseInt((now - bir)/(1000 3600 24 365));

if (age_>18){

ainnerHTML = parseInt((now - bir)/(1000 3600 24 365));

}

else{

alert('你的年龄不到18周岁!');

}

}

</script>

百度不能出来吗?js实现身份z号码验证

以下是根据身份z号码编码规则,使用JS对其进行有效性验证代码IdCard-Validatejs代码如下: /

身份z15位编码规则:dddddd yymmdd xx p

dddddd:地区码

yymmdd: 出生年月日

xx: 顺序类编码,无法确定

p: 性别,奇数为男,偶数为女

<p />

身份z18位编码规则:dddddd yyyymmdd xxx y

dddddd:地区码

yyyymmdd: 出生年月日

xxx:顺序类编码,无法确定,奇数为男,偶数为女

y: 校验码,该位数值可通过前17位计算获得

<p />

18位号码加权因子为(从右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]

验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]

校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 )

i为身份z号码从右往左数的 218 位; Y_P为脚丫校验码所在校验码数组位置

/

var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];// 加权因子

var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];// 身份z验证位值10代表X

function IdCardValidate(idCard) {

idCard = trim(idCardreplace(/ /g, ""));

if (idCardlength == 15) {

return isValidityBrithBy15IdCard(idCard);

} else if (idCardlength == 18) {

var a_idCard = idCardsplit("");// 得到身份z数组

if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){

return true;

}else {

return false;

}

} else {

return false;

}

}

/

判断身份z号码为18位时最后的验证位是否正确

@param a_idCard 身份z号码数组

@return

/

function isTrueValidateCodeBy18IdCard(a_idCard) {

var sum = 0; // 声明加权求和变量

if (a_idCard[17]toLowerCase() == 'x') {

a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续 *** 作

}

for ( var i = 0; i < 17; i++) {

sum += Wi[i] a_idCard[i];// 加权求和

}

valCodePosition = sum % 11;// 得到验证码所位置

if (a_idCard[17] == ValideCode[valCodePosition]) {

return true;

} else {

return false;

}

}

/

通过身份z判断是男是女

@param idCard 15/18位身份z号码

@return 'female'-女、'male'-男

/

function maleOrFemalByIdCard(idCard){

idCard = trim(idCardreplace(/ /g, ""));// 对身份z号码做处理。包括字符间有空格。

if(idCardlength==15){

if(idCardsubstring(14,15)%2==0){

return 'female';

}else{

return 'male';

}

}else if(idCardlength ==18){

if(idCardsubstring(14,17)%2==0){

return 'female';

}else{

return 'male';

}

}else{

return null;

}

// 可对传入字符直接当作数组来处理

// if(idCardlength==15){

// alert(idCard[13]);

// if(idCard[13]%2==0){

// return 'female';

// }else{

// return 'male';

// }

// }else if(idCardlength==18){

// alert(idCard[16]);

// if(idCard[16]%2==0){

// return 'female';

// }else{

// return 'male';

// }

// }else{

// return null;

// }

}

/

验证18位数身份z号码中的生日是否是有效生日

@param idCard 18位书身份z字符串

@return

/

function isValidityBrithBy18IdCard(idCard18){

var year = idCard18substring(6,10);

var month = idCard18substring(10,12);

var day = idCard18substring(12,14);

var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));

// 这里用getFullYear()获取年份,避免千年虫问题

if(temp_dategetFullYear()!=parseFloat(year)

||temp_dategetMonth()!=parseFloat(month)-1

||temp_dategetDate()!=parseFloat(day)){

return false;

}else{

return true;

}

}

/

验证15位数身份z号码中的生日是否是有效生日

@param idCard15 15位书身份z字符串

@return

/

function isValidityBrithBy15IdCard(idCard15){

var year = idCard15substring(6,8);

var month = idCard15substring(8,10);

var day = idCard15substring(10,12);

var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));

// 对于老身份z中的你年龄则不需考虑千年虫问题而使用getYear()方法

if(temp_dategetYear()!=parseFloat(year)

||temp_dategetMonth()!=parseFloat(month)-1

||temp_dategetDate()!=parseFloat(day)){

return false;

}else{

return true;

}

}

//去掉字符串头尾空格

function trim(str) {

return strreplace(/(^\s)|(\s$)/g, "");

}

<script type="text/javascript">

//你的代码

var myarr = [['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],

['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],

['小I','女',20,'大一'],['小J','男',20,'大三']]

var firarry = new Array();

for(var i=0;i<10;++i){ //这句不对,i=0,++1,那么下面这行的i就是1了

if(myarr[i][3]=='大一'){

firarry = myarr[i];

//documentwrite(firarry);//这行输出大一的,没有用

}

}

for(var j=0;j<4;++j){ //因为上面的被覆盖了,所以这是最后一个大一的,再遍历也只有一个人,

// 而且控制条件写的不对,怎么可以小于4呢,里面只有一个人呀!

if(firarry[j][1]=='女')

documentwrite(firarry[j][0]);

}

/ 这里附上我写的一个运行成功的代码

var myarr=[['小A','女',21,'大一'],['小B','男',22,'大三'],['小c','男',15,'女'],['小D','女',14,'大一']];

for(var i=0;i<myarrlength;i++){

if(myarr[i][3]=='大一'&&myarr[i][1]=='女'){

documentwrite(myarr[i]);

}

}

/

</script>

这个自己写就是了,下面是大概的规则

18位身份z

前1~2位数字表示:所在省份的代码;

第3~4位数字表示:所在城市的代码;

第5~6位数字表示:所在区县的代码;

第7~14位数字表示:出生年、月、日;

第15~16位数字表示:所在地的派出所的代码;

第17位数字表示性别:奇数表示男性,偶数表示女性;

15位差距不大

前1~2位数字表示:所在省份的代码;

第3~4位数字表示:所在城市的代码;

第5~6位数字表示:所在区县的代码;

第7、8位为出生年份(两位数)

第9、10位为出生月份

第11、12位代表出生日期

第15位代表性别,奇数为男,偶数为女

按照你的要求,使用正则匹配12-120(包括12和120)的数字。代码如下:

var reg = /^1{1}[2-9]{1}$|^[2-9]{1}[0-9]{1}$|^1{1}[0-1]{1}[0-9]{1}$|^120$/;

已经使用for循环验证了1-10000的数字。只有12-120被匹配。其他都不匹配。

但是,非常不建议使用正则,已经明确了区间的应该使用if语句来判断。

if(x>=12 && x<=120)

这样一个很短的if语句。就可以识别x是否为12-120的区间了。用正则需要判断的可能性变多了。

以上就是关于js表单提交判断年龄全部的内容,包括:js表单提交判断年龄、用javascript验证身份z号的出身年月日怎么写!、关于JS的问题(设计二维数组)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9437442.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存