js數據驗證集合、js email驗證、js url驗證、js長度驗證、js數字驗
2024-05-06 14:09:59
供稿:網友
前段時間寫了一個 js數據驗證、js email驗證、js url驗證、js長度驗證、js數字驗證等 彈出對話框形式的但是,現在不太流行那種很不友好的方式,于是重寫了一個,封裝得更加好的,更友好的層形式共享給大家,如果大家使用有bug,請大家給我留言完善,謝謝了.
js代碼
代碼如下:
/**
* 數據驗證框架.增加了對id字段檢查出錯時,直接在對應后面添加一< span>元素來顯示錯誤信息.
*
* @author wangzi6hao
* @version 2.1
* @description 2009-05-16
*/
var checkData = new function() {
var idExt="_wangzi6hao_Span";//生成span層的id后綴
/**
* 得到中英文字符長(中文為2個字符)
*
* @param {}
* str
* @return 字符長
*/
this.length = function(str) {
var p1 = new RegExp('%u..', 'g')
var p2 = new RegExp('%.', 'g')
return escape(str).replace(p1, '').replace(p2, '').length
}
/**
* 刪除對應id元素
*/
this.remove = function(id) {
var idObject = document.getElementById(id);
if (idObject != null)
idObject.parentNode.removeChild(idObject);
}
/**
* 在對應id后面錯誤信息
*
* @param id:需要顯示錯誤信息的id元素
* str:顯示錯誤信息
*/
this.appendError = function(id, str) {
this.remove(id + idExt);// 如果span元素存在,則先刪除此元素
var spanNew = document.createElement("span");// 創建span
spanNew.id = id + idExt;// 生成spanid
spanNew.style.color = "red";
spanNew.appendChild(document.createTextNode(str));// 給span添加內容
var inputId = document.getElementById(id);
inputId.parentNode.insertBefore(spanNew, inputId.nextSibling);// 給需要添加元素后面添加span
}
/**
* @description 過濾所有空格字符。
* @param str:需要去掉空間的原始字符串
* @return 返回已經去掉空格的字符串
*/
this.trimSpace = function(str) {
str += "";
while ((str.charAt(0) == ' ') || (str.charAt(0) == '???')
|| (escape(str.charAt(0)) == '%u3000'))
str = str.substring(1, str.length);
while ((str.charAt(str.length - 1) == ' ')
|| (str.charAt(str.length - 1) == '???')
|| (escape(str.charAt(str.length - 1)) == '%u3000'))
str = str.substring(0, str.length - 1);
return str;
}
/**
* 過濾字符串開始部分的空格/字符串結束部分的空格/將文字中間多個相連的空格變為一個空格
*
* @param {Object}
* inputString
*/
this.trim = function(inputString) {
if (typeof inputString != "string") {
return inputString;
}
var retValue = inputString;
var ch = retValue.substring(0, 1);
while (ch == " ") {
// 檢查字符串開始部分的空格
retValue = retValue.substring(1, retValue.length);
ch = retValue.substring(0, 1);
}
ch = retValue.substring(retValue.length - 1, retValue.length);
while (ch == " ") {
// 檢查字符串結束部分的空格