欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript form 驗(yàn)證函數(shù) 彈出對(duì)話框形式

 更新時(shí)間:2009年06月23日 00:23:26   作者:  
javascript合法驗(yàn)證 js數(shù)據(jù)驗(yàn)證、js email驗(yàn)證、js url驗(yàn)證、js長度驗(yàn)證、js數(shù)字驗(yàn)證等(彈出對(duì)話框形式)
復(fù)制代碼 代碼如下:

/**
* 得到中英文字符長
* @param {} str
* @return {}
*/
function LengthB(str){
var p1 = new RegExp('%u..', 'g')
var p2 = new RegExp('%.', 'g')
return escape(str).replace(p1, '').replace(p2, '').length
}
/**
* 過濾所有空格字符
* @param {Object} str
*/
function jsTrim(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;
}
/**
* 過濾中間字符串和多個(gè)空格
* @param {Object} inputString
*/
function trim(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 == " ") {
//檢查字符串結(jié)束部分的空格
retValue = retValue.substring(0, retValue.length - 1);
ch = retValue.substring(retValue.length - 1, retValue.length);
}
while (retValue.indexOf(" ") != -1) {
//將文字中間多個(gè)相連的空格變?yōu)橐粋€(gè)空格
retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ") + 1, retValue.length);
}
return retValue;
}
/**
* 過濾字符串,指定過濾內(nèi)容,如果內(nèi)容為空,則默認(rèn)過濾 '~!@#$%^&*()-+."
* @param {Object} str
* @param {Object} filterStr
*
* @return 包含過濾內(nèi)容,返回True,否則返回false;
*/
function FilterStr(str, filterStr){
filterStr = filterStr == "" ? "'~!@#$%^&*()-+.\"" : filterStr
var ch;
var i;
var temp;
var error = false;//當(dāng)包含非法字符時(shí),返回True
for (i = 0; i <= (filterStr.length - 1); i++) {
ch = filterStr.charAt(i);
temp = str.indexOf(ch);
if (temp != -1) {
error = true;
break;
}
}
return error;
}
/**
* 過濾指定內(nèi)容字符串
* @param {Object} str 檢查字符串
* @param {Object} filterStr 過濾字符串,內(nèi)容為空,則默認(rèn)過濾 '~!@#$%^&*()-+."
* @param {Object} alertStr 彈出對(duì)話內(nèi)容
* @param {Object} idStr 出錯(cuò)返回出錯(cuò)字段ID
*/
function ISFilterStr(str, filterStr, alertStr, idStr){
alertStr = "對(duì)不起,您輸入的 " + alertStr + " 不允包含 " + filterStr + " 非法字符";
if (FilterStr(str, filterStr))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查是否為網(wǎng)址
* @param {} str_url
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>不是</b>網(wǎng)址返回false;
*/
function IsURL(str_url, alertStr, idStr){// 驗(yàn)證url
alertStr = alertStr + " 格式不正確!";
var strRegex = "^((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]\." // 二級(jí)域名
+
"[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(strRegex);
if (!re.test(str_url))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查是否為電子郵件
* @param {} str
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>不是</b>電子郵件返回false;
*/
function IsEmail(str, alertStr, idStr){
alertStr = alertStr + " 格式不正確!";
var re = /^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查是否為數(shù)字
* @param {} str
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>不是</b>數(shù)字返回false;
*/
function IsNum(str, alertStr, idStr){
alertStr = alertStr + " 應(yīng)該由數(shù)字組成!";
var re = /^[\d]+$/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查數(shù)值是否在給定范圍以內(nèi)<br>
* @param {} str_num
* @param {} moreLen 應(yīng)該大于或者等于的數(shù)值
* @param {} lessLen 應(yīng)該小于或者等于的數(shù)值
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>小于最小數(shù)值或者大于最大數(shù)值</b>數(shù)字返回false;
*/
function IsRangeNum(str_num, moreLen, lessLen, alertStr, idStr){
IsNum(str_num, alertStr, idStr);
if (moreLen != "") {
alertStr = alertStr + " 數(shù)值不能小于 " + moreLen;
if (str_num < moreLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = alertStr + " 數(shù)值不能大于 " + lessLen;
if (str_num > lessLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("沒有定義最大最小長度!", idStr);
}
/**
* 檢查是否為合格字符串(不區(qū)分大小寫)<br>
* 長度在6至20位,并且是由a-z0-9_組成的字符串
* @param {} str 檢查的字符串
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>不是</b>"長度在6至20位且由a-z0-9_"組成返回false;
*/
function IsLicit(str, alertStr, idStr){
alertStr = "對(duì)不起," + alertStr + " 不能為空并且只能由 0到9 a到z 下劃線 的6到20位組成! ";
var re = /^[_0-9a-zA-Z]{6,20}$/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查二個(gè)字符串是否相等
* @param {} str1 第一個(gè)字符串
* @param {} str2 第二個(gè)字符串
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} 字符串不相等返回false;
*/
function IsStrEquals(str1, str2, alertStr, idStr){
alertStr = "二次 " + alertStr + " 不一致!";
if (str1 != str2)
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 檢查字符串是否在給定長度范圍以內(nèi)(中文字符以2個(gè)字節(jié)計(jì)算)<br>
*
* @param {} str 檢查的字符
* @param {} moreLen 應(yīng)該大于或者等于的長度
* @param {} lessLen 應(yīng)該小于或者等于的長度
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>小于最小長度或者大于最大長度</b>數(shù)字返回false;
*/
function IsRange(str, moreLen, lessLen, alertStr, idStr){
var strLen = LengthB(str);
if (moreLen != "") {
alertStr = alertStr + " 應(yīng)該大于或等于 " + moreLen + " 個(gè)字節(jié)長度!";
if (strLen < moreLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = alertStr + " 應(yīng)該小于或等于 " + lessLen + " 個(gè)字節(jié)長度!";
if (strLen > lessLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("沒有定義最大最小長度!", idStr);
}
/**
* 檢查字符串是否小于給定長度范圍(中文字符以2個(gè)字節(jié)計(jì)算)<br>
* @param {} str 字符串
* @param {} lessLen 小于或等于長度
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>大于給定長度</b>數(shù)字返回false;
*/
function IsLess(str, lessLen, alertStr, idStr){
IsRange(str, "", lessLen, alertStr, idStr);
}
/**
* 檢查字符不為空
* @param {} str
* @param {} alertStr 彈出字段內(nèi)容
* @param {} idStr 光標(biāo)定位的字段ID<b>只能接收ID</b>
* @return {Boolean} <b>字符為空</b>返回false;
*/
function IsEmpty(str, alertStr, idStr){
alertStr = alertStr + " 不能為空!";
if (str == "")
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 彈出警示框,并定位到出錯(cuò)字段上
* @param {} alertStr 彈出警告框內(nèi)容
* @param {} idStr 返回字段焦點(diǎn)
* @return {Boolean} 返回false
*/
function AlertAndRFalse(alertStr, idStr){
alert(alertStr);
document.getElementById(idStr).focus();
throw "valueErr";
}
// JavaScript Document
調(diào)用示例
function checkForm() {
try {
var title = trim(document.getElementById('title')); //文章標(biāo)題
IsEmpty(title,"文章標(biāo)題","title");//不可為空
IsLess(title,100,"文章標(biāo)題","title");//標(biāo)題應(yīng)少于100個(gè)字符長
ISFilterStr(title, "~`!@#$%^&*()-=_+[]{}|\\;':\",./<>?", "文章標(biāo)題","title")//標(biāo)題不允許包含這些非法字符
} catch(err) {
if(err == "valueErr")
return false;
}
}

相關(guān)文章

  • 詳解JavaScript中Proxy與Object.defineProperty的區(qū)別

    詳解JavaScript中Proxy與Object.defineProperty的區(qū)別

    Proxy和Object.defineProperty都是JavaScript中用于實(shí)現(xiàn)對(duì)象屬性攔截和代理的機(jī)制,但它們?cè)诠δ芎蛻?yīng)用方面有一些區(qū)別,本文通過代碼示例詳細(xì)介紹了二者的區(qū)別,感興趣的朋友可以參考下
    2023-06-06
  • Javascript判斷圖片尺寸大小實(shí)例分析

    Javascript判斷圖片尺寸大小實(shí)例分析

    通常我們判斷js圖片大小都是利用images對(duì)象,然后再用attr來獲取圖片地址再進(jìn)行判斷就可以了。這篇文章主要介紹了Javascript判斷圖片尺寸大小的實(shí)例,需要的朋友可以參考下
    2014-06-06
  • 利用JS自動(dòng)打開頁面上鏈接的實(shí)現(xiàn)代碼

    利用JS自動(dòng)打開頁面上鏈接的實(shí)現(xiàn)代碼

    今天經(jīng)過測(cè)試,實(shí)現(xiàn)了利用JS來自動(dòng)打開頁面上的鏈接的功能,其實(shí)比較簡單,就是在頁面上把鏈接列表列出來,然后通過JQuery的相關(guān)控制,在框架頁中把鏈接打開,具體能做什么用,大家自己想,哈哈。
    2011-09-09
  • javascript 多種搜索引擎集成的頁面實(shí)現(xiàn)代碼

    javascript 多種搜索引擎集成的頁面實(shí)現(xiàn)代碼

    這個(gè)頁面是為了方便自己同時(shí)使用多種搜索引擎(呵呵我用其作默認(rèn)主頁),在IE5/IE6/FireFox下均運(yùn)行正常,效果如下圖
    2010-01-01
  • 用js遍歷 table的腳本

    用js遍歷 table的腳本

    js遍歷table的所有元素的代碼,方便我們控制table的所有元素,顏色,樣式等
    2008-07-07
  • 使用GruntJS鏈接與壓縮多個(gè)JavaScript文件過程詳解

    使用GruntJS鏈接與壓縮多個(gè)JavaScript文件過程詳解

    怎么把多個(gè)JS文件搞成一個(gè)啊,GruntJS – JavaScript多文件編譯,風(fēng)格檢查,鏈接與壓縮神器,使用過程如下,有需要的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08
  • js removeChild 方法深入理解

    js removeChild 方法深入理解

    下面小編就為大家?guī)硪黄猨s removeChild 方法深入理解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • 微信小程序?qū)崿F(xiàn)抖音播放效果的實(shí)例代碼

    微信小程序?qū)崿F(xiàn)抖音播放效果的實(shí)例代碼

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)抖音播放效果的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Bootstrap 附加導(dǎo)航(Affix)插件實(shí)例詳解

    Bootstrap 附加導(dǎo)航(Affix)插件實(shí)例詳解

    附加導(dǎo)航(Affix)插件允許某個(gè) <div> 固定在頁面的某個(gè)位置。接下來通過本文給大家介紹Bootstrap 附加導(dǎo)航(Affix)插件實(shí)例詳解,感興趣的朋友一起看看吧
    2016-06-06
  • JavaScript中為元素加上name屬性的方法

    JavaScript中為元素加上name屬性的方法

    干前端這行當(dāng)已經(jīng)超過一個(gè)月了, 每天都會(huì)遇到新奇古怪, 甚至離奇的問題. 雖然絕大部分都是一些小問題, 但我覺得還是有必要記錄下來
    2011-05-05

最新評(píng)論