Home > Web Front-end > JS Tutorial > javascript form verification function pop-up dialog form_javascript skills

javascript form verification function pop-up dialog form_javascript skills

WBOY
Release: 2016-05-16 18:51:12
Original
968 people have browsed it
Copy code The code is as follows:

/**
* Get the Chinese and English character length
* @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
}
/**
* Filter all space characters
* @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;
}
/**
* Filter out intermediate strings and multiple spaces
* @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 == " ") {
//检查字符串结束部分的空格
retValue = retValue.substring(0, retValue.length - 1);
ch = retValue.substring(retValue.length - 1, retValue.length);
}
while (retValue.indexOf(" ") != -1) {
//将文字中间多个相连的空格变为一个空格
retValue = retValue.substring(0, retValue.indexOf(" ")) retValue.substring(retValue.indexOf(" ") 1, retValue.length);
}
return retValue;
}
/**
* Filter string, specify the filter content. If the content is empty, the default filter is '~!@#$%^&*()-."
* @param {Object} str
* @ param {Object} filterStr
*
* @return contains filter content, returns True, otherwise returns false;
*/
function FilterStr(str, filterStr){
filterStr = filterStr == "" ? "'~!@#$%^&*()- ."" : filterStr
var ch;
var i;
var temp;
var error = false;//当包含非法字符时,返回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;
}
/**
* Filter the specified content string
* @param {Object} str Check the string
* @param {Object} filterStr Filter the string, if the content is empty, filter by default '~!@#$% ^&*()- ."
* @param {Object} alertStr Pop-up dialogue content
* @param {Object} idStr Return error field ID
*/
function ISFilterStr(str, filterStr, alertStr, idStr){
alertStr = "对不起,您输入的 " alertStr " 不允包含 " filterStr " 非法字符";
if (FilterStr(str, filterStr))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* Check if it is a URL
* @param {} str_url
* @param {} alertStr pop-up field content
* @param {} idStr field ID where the cursor is positioned can only receive ID< ;/b>
* @return {Boolean} notURL returns false;
*/
function IsURL(str_url, alertStr, idStr){// 验证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]." // 二级域名

"[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);
}
/**
* Check if it is an email
* @param {} str
* @param {} alertStr Pop-up field content
* @param {} idStr Field ID positioned by the cursor can only be received ID
* @return {Boolean} notemail returns 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);
}
/**
* 检查是否为数字
* @param {} str
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean}NotNumber는 false를 반환합니다.
*/
function IsNum(str, AlertStr, idStr){
alertStr = AlertStr "숫자로 구성되어야 합니다!"; re = /^[d] $/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr)
}
/**
* 값이 주어진 범위 내에 있는지 확인하세요

* @param {} str_num
* @param {} moreLen은 값보다 크거나 같아야 합니다
* @param { } lessLen은
* @param {} AlertStr 팝업 필드 내용보다 작거나 같아야 합니다.
* @param {} idStr 커서에 위치한 필드 ID는 ID ;
* @return {Boolean } 최소값보다 작거나 최대값보다 큼숫자가 false를 반환합니다.*/
function IsRangeNum(str_num, moreLen, lessLen, AlertStr, idStr){
IsNum(str_num, AlertStr, idStr);
if (moreLen != "") {
alertStr = AlertStr " 값은 다음과 같습니다. " moreLen;
if (str_num < moreLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = AlertStr " 값은 다음보다 클 수 없습니다. " lessLen;
if (str_num > lessLen)
this.AlertAndRFalse(alertStr, idStr)
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("최대 및 최소 길이가 정의되지 않았습니다!", idStr)
}
/**
* 정규화된 문자열인지 확인하세요(대소문자 구분 안 함)

* 길이는 6~20자이며, a-z0-9_로 구성된 문자열입니다.
* @ param {} str 검사된 문자열
* @param {} AlertStr 팝업 필드 내용
* @param {} idStr 커서 위치 필드 ID만 수신할 수 있습니다.
* @return {Boolean} not"길이는 6~20자리이며 a-z0-9_로 구성됩니다."는 false를 반환합니다.
*/
function IsLicit(str, AlertStr, idStr) {
alertStr = " 죄송합니다. " AlertStr "은 비워 둘 수 없으며 0~9 a~z 밑줄 6~20자리로만 구성될 수 있습니다! "
var re = /^[_0-9a-zA-Z ]{6,20} $/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr)
}
/**
* 두 문자열이 같은지 확인
* @param {} str1 첫 번째 문자열
* @param {} str2 두 번째 문자열
* @param {} AlertStr 팝업 필드 Content
* @param {} idStr 커서에 위치한 필드 ID는 ID만 수신할 수 있습니다.
* @return {Boolean} 문자열이 동일하지 않으면 false를 반환합니다.*/
function IsStrEquals(str1, str2, AlertStr, idStr){
alertStr = "보조" AlertStr "이 일치하지 않습니다!";
if (str1 != str2)
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 문자열이 주어진 길이 범위 내에 있는지 확인(한자는 2바이트로 계산됨)

*
* @param {} str 확인된 문자
* @param {} moreLen
*보다 크거나 같아야 하는 길이 @param {} lessLen
* @param {}보다 작거나 같아야 하는 길이 AlertStr 팝업 필드 내용
* @param {} 커서가 위치한 idStr 필드 ID< ;b>ID만 수신 가능

* @return {Boolean} 최소 길이보다 작거나 최대 길이보다 큼Number 거짓을 반환합니다.
*/
function IsRange(str, moreLen, lessLen, AlertStr, idStr){
var strLen = LengthB(str)
if (moreLen ! = "") {
alertStr = AlertStr "의 길이는 " moreLen " 바이트보다 크거나 같아야 합니다!"
if (strLen < moreLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = AlertStr "의 길이는 " lessLen " 바이트보다 작거나 같아야 합니다!"
if (strLen > lessLen)
this.AlertAndRFalse(alertStr, idStr) ;
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("최대 및 최소 길이가 정의되지 않았습니다!", idStr );
}
/* *
* 문자열이 주어진 길이 범위보다 작은지 확인(한자는 2바이트로 계산)

* @param {} str string
* @param {} lessLen less than or Length
* @param {} AlertStr 팝업 필드 내용
* @param {} 커서에 위치한 idStr 필드 ID는 ID만 수신할 수 있습니다. Boolean} 주어진 길이보다 큰 숫자는 false를 반환합니다.*/
function IsLess(str, lessLen, AlertStr, idStr){
IsRange(str, "", lessLen, AlertStr, idStr); 🎜>}
/**
* 문자가 비어 있지 않은지 확인
* @param {} str
* @param {} AlertStr 팝업 필드 내용
* @param {} idStr 커서 위치의 필드 ID< ;b> ID
만 받을 수 있습니다
* @return {Boolean} 문자가 비어 있습니다Return false;*/
function IsEmpty(str, AlertStr, idStr){
alertStr = AlertStr "비워둘 수 없습니다!"
if (str == "" )
this.AlertAndRFalse(alertStr, idStr )
}
/**
* 경고 상자 팝업 및 오류 필드 찾기
* @param {} AlertStr 경고 상자 내용 팝업
* @param {} idStr 필드 포커스 반환
* @return {Boolean} 거짓 반환
*/
function AlertAndRFalse(alertStr, idStr){
alert(alertStr); document.getElementById(idStr).focus();
throw "valueErr";
//JavaScript Document
Call example
function checkForm() {
try {
var title = trim(document.getElementById('title')); //Article title
IsEmpty(title,"Article Title","title");//Cannot be empty
IsLess(title,100,"Article Title","title");//The title should be less than 100 characters long
ISFilterStr(title, "~`!@#$%^&*()-=_ []{}|\;':",./<>?", "Article title","title") //Titles are not allowed to contain these illegal characters
} catch(err) {
if(err == "valueErr")
return false;
}
}
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template