常用js驗證函式
//數字檢測
function checkNumber(str) {
if (str.Trim() == "") {
return true;
}
var patrn = /^[0-9]+$/;
return patrn.test(str.Trim());
}
//檢測價格
function checkPrice(str) {
if (str.Trim() == "") {
return true;
}
var patrn = /^\d{1,5}(\.(\d{1,2}))?$/;
return patrn.test(str.Trim());
}
//身份證驗證嚴格校驗
function checkIdcard(idcard) {
var Errors = new Array(
"身份證驗證通過!",
"身份證號碼位數不對!",
"身份證號碼出生日期超出範圍或含有非法字元!",
"身份證號碼校驗錯誤!",
"身份證地區非法!"
);
var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "內蒙古", 21: "遼寧", 22: "吉林", 23: "黑龍江", 31: "上海", 32: "江蘇", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山東", 41: "河南", 42: "湖北", 43: "湖南", 44: "廣東", 45: "廣西", 46: "海南", 50: "重慶", 51: "四川", 52: "貴州",
53: "雲南", 54: "西藏", 61: "陝西", 62: "甘肅", 63: "青海", 64: "寧夏", 65: "新疆", 71: "臺灣", 81: "香港", 82: "澳門", 91: "國外" }
var idcard, Y, JYM;
var S, M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地區檢驗
if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];
//身份號碼位數及格式檢驗
switch (idcard.length) {
case 15:
if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //測試出生日期的合法性
} else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //測試出生日期的合法性
}
if (ereg.test(idcard)) return Errors[0];
else return Errors[2];
break;
case 18:
//18位身份號碼檢測
//出生日期的合法性檢查
//閏年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //閏年出生日期的合法性正則表示式
} else {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正則表示式
}
if (ereg.test(idcard)) {//測試出生日期的合法性
//計算校驗位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y, 1); //判斷校驗位
if (M == idcard_array[17]) return Errors[0]; //檢測ID的校驗位
else return Errors[3];
}
else return Errors[2];
break;
default:
return Errors[1];
break;
}
}
//聯絡電話(手機/電話皆可)驗證 1 - 座機 、 0 - 手機 、 其他 - 不區分
function checkPhone(str, isPhone) {
if (str.Trim() == "") {
return true;
}
var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
var tel = /^(\d{3,4}-?)?\d{7,9}(-\d{3,6})?$/;
if (str.startWith("1")) {
return mobile.test(str.Trim());
}
else if (isPhone == 1) {
return (tel.test(str.Trim()));
}
else if (isPhone == 0) {
return mobile.test(str.Trim());
}
return (tel.test(str.Trim()) || mobile.test(str.Trim()));
}
//郵政編碼驗證
function checkZipCode(str) {
if (str.Trim() == "") {
return true;
}
var tel = /^[0-9]{6}$/;
return tel.test(str.Trim());
}
//郵箱驗證
function checkEmail(str) {
if (str.Trim() == "") {
return true;
}
var reg = /^\w+((-\w+)|(\.\w+))*\@{1}\w+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig;
return reg.test(str.Trim());
}
//輸入判斷比較
function chkValueIn(chkObjId, chkValue) {
if ($("#" + chkObjId).val().Trim() == chkValue ) {
$("#" + chkObjId).val("");
}
}
//輸出判斷比較
function chkValueOut(chkObjId, chkValue) {
if ($("#" + chkObjId).val().Trim() == "") {
$("#" + chkObjId).val(chkValue);
}
}
//用於最大字數限制輸入框
//contentId 內容輸入容器Id
//maxId 剩餘字數顯示容器Id
//maxlength 最大字數值
function checkChar(contentId, maxId, maxlength) {
var value = $("#" + contentId).val();
var length = 0;
for (var i = 0; i < value.length; i++) {
var ch = value.charAt(i);
if (isNormalChar(ch))
length += 1;
else
length += 2;
}
if (length > maxlength) {
var currentV = "";
length = 0;
for (var i = 0; i < value.length; i++) {
length++;
if (value.charCodeAt(i) > 127) {
length++;
}
if (length <= maxlength) {
currentV = $("#" + contentId).val().substring(0, i);
}
else {
break;
}
}
$("#" + contentId).val(currentV);
$("#" + maxId).html("0");
}
else {
var residual = parseInt((maxlength - length) / 2);
$("#" + maxId).html(residual);
}
}
function isNormalChar(ch) {
if (ch.length > 1) {
return false;
}
if (ch == "") {
return true;
}
var pattern = /^([\\uFF66-\\uFF9F]|[\\u0000-\\u00FF])*$/gi;
if (pattern.test(ch)) {
return true;
} else {
return false;
}
}
相關推薦
常用js驗證函式
//數字檢測 function checkNumber(str) { if (str.Trim() == "") { return true; } var patrn = /^[0-9]+$/; return patrn.te
【實用】常用JS驗證函式大全
[code language=js]/*********************************************************************** 常用JS驗證函式 * QQ:12165743* Email:[email prote
常用的js驗證函式 (轉載)
//******************************************************************/**//**JavaScript Document* <p>タイトル: JS常用処理函式</p>* <p&g
常用js驗證方法封裝1
var check={ var check = { //是否為空 isNull: function (str) { if ($.trim(str).length == 0)re
javascript常用資料驗證函式
正則表示式日期驗證函式 function CheckDate(str){ //在JavaScript中,正則表示式只能使用"/"開頭和結束,不能使用雙引號 var Expression=/^((((1[6-9]|[2-9]\d)\d{2})(\/
js驗證函式
<script language="JavaScript" type="text/javascript">function submitUpdateInfo(){ if(document.getElementById("username").value=="
常用js驗證(待更新)
一些較為常用的js驗證 //是否為空校驗 function isEmpty(str) { var lll = trim(str) ; if (ll == null || ll.length == 0){ return true ; } else { retu
js常用的字串函式
1 substring:提取字串中介於兩個指定下標之間的字元。 語法 stringObject.substring(start,stop) 說明 substring() 方法返回的子串包括 start 處的字元,但不包括 stop 處的字元。 如果引數 start 與
js的正則自定義金額輸入驗證函式
名稱:正則驗證金額函式方法 描述:自定義函式驗證金額 作用:可驗證 90與90.00,及判斷是否是1個小數點。 js程式碼: function is_money(s) { var reg_sum = "^[0-9]+[\.][0-9]{0,3}$";
常用正則表示式大全,手機 電話 郵箱 身份證 最嚴格的驗證 IP地址 網址 日期等,一般前臺js驗證,來這裡就夠了
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
【常用 JS 外掛】01 jQuery Validation 表單驗證外掛
表單驗證框架 jQuery Validation 前端表單驗證框架 頁面引用 <!-- jQuery Validation 1.14.0 --> <script src="/static/assets/plugins/jquery-valida
第六課:js常用物件和函式
這節課講講js常用的物件和函式 //這課講js常用物件和函式 //判斷一個物件是否是陣列 // Array.isArray(); //開啟一個新頁面,其實是傳送一個請求 /** * @Param url: 要開啟的頁面的連結(要傳送請
【常用 JS 外掛】01 jQuery Valdation 表單驗證外掛
表單驗證框架 jQuery Validation 前端表單驗證框架 頁面引用 <!-- jQuery Validation 1.14.0 --> <script src="/static/assets/plugins/jquery-valida
100多個基礎常用JS函式和語法集合大全
網站特效離不開指令碼,javascript是最常用的指令碼語言,我們歸納一下常用的基礎函式和語法: 1.輸出語句:document.write(""); 2.JS中的註釋為//3.傳統的HTML文件順序是:document->html->(head,body)4.一個瀏覽器視窗中的DOM順序是:w
工作中常用到的JS驗證
Common.js // JavaScript Document // _ooOoo_ // o8888888o // 88" . "88 //
常用的JS驗證—正則表示式
1。date日期var _reg = /^[0-9]{4}-(((0?[13578]|(10|12))-(0?[1-9]|[1-2][0-9]|3[0-1]))|(0?2-(0[1-9]|[1-2][
JS通用表單驗證函式
Check.js JS函式檔案//////////////////////////////////////////////////////////////////////////////// /* *--------------- 客戶端表單通用驗證CheckForm
常用js函式(不斷更新)
/** * 物件克隆 **/ cloneObj : function(obj){ var This = this; obj.Clone = function(){ var o
常用js函式封裝
//===============================Array==================================// /** * 陣列去重 */ Array.prototype.Unique = function () { re
JS驗證控件jQuery Validate
left pass mes 源碼 bsp targe 單標簽 pac get jQuery Validate 插件為表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定制選項,滿足應用程序各種需求。該插件捆綁了一套有用的驗證方法,包括 URL 和電子郵件