當前位置:首頁 » 網頁前端 » js前端校驗
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

js前端校驗

發布時間: 2022-07-14 08:00:53

1. 如何跳過前端JavaScript的驗證

要想繞過js驗證,需要利用第三方插件:

1、安裝好FireBug插件,然後,用快捷鍵F12,就會彈出FireBug窗口

3、然後按著上面步驟操作,把紅框里的代碼:

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(「Button1″, 「」, true, 「1」, 「」, false, false))

刪除掉,然後點擊提交按鈕。這樣就可以提交了。

2. 前端js中判斷字元串是否包含怎麼寫

js 代碼是支持很多String 類的方法的,建議你可以用indexOf 來判斷一個字元串是否存在於另一個字元串中,示例:
判斷aaa 是否存在於 123aaa456 中

'aaa'.indexOf('123aaa456');

如果返回值不等於-1 說明存在。

3. 在web前端怎樣用js做驗證碼

沒聽過JS工程師,我做前端時就是用寫js代碼,或jq代碼實現一些特效。

4. 前端開發中有什麼優秀的js表單驗證框架

jquery validate
jQuery Validate 插件為表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定製選項,滿足應用程序各種需求。該插件捆綁了一套有用的驗證方法,包括 URL 和電子郵件驗證,同時提供了一個用來編寫用戶自定義方法的 API。所有的捆綁方法默認使用英語作為錯誤信息,且已翻譯成其他 37 種語言。
該插件是由 Jörn Zaefferer 編寫和維護的,他是 jQuery 團隊的一名成員,是 jQuery UI 團隊的主要開發人員,是 QUnit 的維護人員。該插件在 2006 年 jQuery 早期的時候就已經開始出現,並一直更新至今。目前版本是 1.14.0。
訪問 jQuery Validate 官網,下載最新版的 jQuery Validate 插件。

5. 求前端驗證js代碼

這是一般表單中會用到的 1. 長度限制

<script>
function test()
{
if(document.a.b.value.length>50)
{
alert(」不能超過50個字元!」);
document.a.b.focus();
return false;
}
}
</script>
<form name=a onsubmit=」return test()」>
<textarea name=」b」 cols=」40″ wrap=」VIRTUAL」 rows=」6″></textarea>
<input type=」submit」 name=」Submit」 value=」check」>
</form>
2. 只能是漢字

<input onkeyup=」value=」/oblog/value.replace(/[^\u4E00-\u9FA5]/g,」)」>
3.」 只能是英文

<script language=javascript>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnvalue=false;
}
</script>
<input onkeydown=」onlyEng();」>
4. 只能是數字

<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考慮小鍵盤上的數字鍵
event.returnvalue=false;
}
</script>
<input onkeydown=」onlyNum();」>
5. 只能是英文字元和數字

<input onkeyup=」value=」/oblog/value.replace(/[\W]/g,」」) 「onbeforepaste=」clipboardData.setData(』text』,clipboardData.getData(』text』).replace(/[^\d]/g,」))」>
6. 驗證郵箱格式

<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert(」oh」);
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
7. 屏蔽關鍵字(這里屏蔽***和****)

<script language=」javascript1.2″>
function test() {
if((a.b.value.indexOf (」***」) == 0)||(a.b.value.indexOf (」****」) == 0)){
alert(」:)」);
a.b.focus();
return false;}
}
</script>
<form name=a onsubmit=」return test()」>
<input type=text name=b>
<input type=」submit」 name=」Submit」 value=」check」>
</form>
8. 兩次輸入密碼是否相同

<FORM METHOD=POST ACTION=」">
<input type=」password」 id=」input1″>
<input type=」password」 id=」input2″>
<input type=」button」 value=」test」 onclick=」check()」>
</FORM>
<script>
function check()
{
with(document.all){
if(input1.value!=input2.value)
{
alert(」false」)
input1.value = 「」;
input2.value = 「」;
}
else document.forms[0].submit();
}
}
</script>
夠了吧 :)
屏蔽右鍵 很酷

oncontextmenu=」return false」 ondragstart=」return false」 onselectstart=」return false」
加在body中

2.1 表單項不能為空

<script language=」javascript」>
<!–
function CheckForm()
{
if (document.form.name.value.length == 0) {
alert(」請輸入您姓名!」);
document.form.name.focus();
return false;
}
return true;
}
–>
</script>
2.2 比較兩個表單項的值是否相同

<script language=」javascript」>
<!–
function CheckForm()
if (document.form.PWD.value != document.form.PWD_Again.value) {
alert(」您兩次輸入的密碼不一樣!請重新輸入.」);
document.ADDUser.PWD.focus();
return false;
}
return true;
}
–>
</script>
2.3 表單項只能為數字和」_」,用於電話/銀行帳號驗證上,可擴展到域名注冊等

<script language=」javascript」>
<!–
function isNumber(String)
{
var Letters = 」1234567890-」; //可以自己增加可輸入值
var i;
var c;
if(String.charAt( 0 )==』-')
return false;
if( String.charAt( String.length - 1 ) == 』-』 )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm()
{
if(! isNumber(document.form.TEL.value)) {
alert(」您的電話號碼不合法!」);
document.form.TEL.focus();
return false;
}
return true;
}
–>
</script>
2.4 表單項輸入數值/長度限定

<script language=」javascript」>
<!–
function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
{
alert(」輸入數值不能小於零大於100!」);
document.form.count.focus();
return false;
}
if (document.form.MESSAGE.value.length<10)
{
alert(」輸入文字小於10!」);
document.form.MESSAGE.focus();
return false;
}
return true;
}
//–>
</script>
2.5 中文/英文/數字/郵件地址合法性判斷

<SCRIPT LANGUAGE=」javascript」>
<!–
function isEnglish(name) //英文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return false;
}
return true;
}
function isChinese(name) //中文值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
return true;
}
return false;
}
function isMail(name) // E-mail值檢測
{
if(! isEnglish(name))
return false;
i = name.indexOf(」 at 」);
j = name dot lastIndexOf(」 at 」);
if(i == -1)
return false;
if(i != j)
return false;
if(i == name dot length)
return false;
return true;
}
function isNumber(name) //數值檢測
{
if(name.length == 0)
return false;
for(i = 0; i < name.length; i++) {
if(name.charAt(i) < 」0″ || name.charAt(i) > 」9″)
return false;
}
return true;
}
function CheckForm()
{
if(! isMail(form.Email.value)) {
alert(」您的電子郵件不合法!」);
form.Email.focus();
return false;
}
if(! isEnglish(form.name.value)) {
alert(」英文名不合法!」);
form.name.focus();
return false;
}
if(! isChinese(form.cnname.value)) {
alert(」中文名不合法!」);
form.cnname.focus();
return false;
}
if(! isNumber(form.PublicZipCode.value)) {
alert(」郵政編碼不合法!」);
form.PublicZipCode.focus();
return false;
}
return true;
}
//–>
</SCRIPT>
2.6 限定表單項不能輸入的字元

<script language=」javascript」>
<!–
function contain(str,charset)// 字元串包含測試函數
{
var i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return true;
return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, 」%\(\)><」)) || (contain(document.form.MESSAGE.value, 」%\(\)><」)))
{
alert(」輸入了非法字元」);
document.form.NAME.focus();
return false;
}
return true;
}
//–>
</script>
1. 檢查一段字元串是否全由數字組成
—————————————

<script language=」Javascript」><!–
function checkNum(str){return str.match(/\D/)==null}
alert(checkNum(」1232142141″))
alert(checkNum(」123214214a1″))
// –></script>

2. 怎麼判斷是否是字元
—————————————

if (/[^\x00-\xff]/g.test(s)) alert(」含有漢字」);
else alert(」全是字元」);

3. 怎麼判斷是否含有漢字
—————————————

if (escape(str).indexOf(」%u」)!=-1) alert(」含有漢字」);
else alert(」全是字元」);

4. 郵箱格式驗證
—————————————

//函數名:chkemail
//功能介紹:檢查是否為Email Address
//參數說明:要檢查的字元串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf(』@');
var tempd = a.indexOf(』.');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}

}
}
return 0;
}

5. 數字格式驗證
—————————————

//函數名:fucCheckNUM
//功能介紹:檢查是否為數字
//參數說明:要檢查的數字
//返回值:1為是數字,0為不是數字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp=」0123456789″;
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//說明有字元不是數字
return 0;
}
}
//說明是數字
return 1;
}

6. 電話號碼格式驗證
—————————————

//函數名:fucCheckTEL
//功能介紹:檢查是否為電話號碼
//參數說明:要檢查的字元串
//返回值:1為是合法,0為不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp=」0123456789-()# 「;
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//說明有字元不合法
return 0;
}
}
//說明合法
return 1;
}
7. 判斷輸入是否為中文的函數
—————————————

function ischinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}

8. 綜合的判斷用戶輸入的合法性的函數
—————————————

<script language=」javascript」>
//限制輸入字元的位數開始
//m是用戶輸入,n是要限制的位數
function issmall(m,n)
{
if ((m<n) && (m>0))
{
return(false);
}
else
{return(true);}
}
9. 判斷密碼是否輸入一致
—————————————

function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
10. 判斷用戶名是否為數字字母下滑線
—————————————

function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str)){
return (false);
}else{
return(true); }
}
2.8. form文本域的通用校驗函數
—————————————
作用:檢測所有必須非空的input文本,比如姓名,賬號,郵件地址等等。
該校驗現在只針對文本域,如果要針對form裡面的其他域對象,可以改變判斷條件。
使用方法:在要檢測的文本域中加入title文字。文字是在提示信息,你要提示給用戶的該欄位的中文名。比如要檢測用戶名
html如下<input name=」txt_1″ title=」姓名」>,當然,最好用可視化工具比如dreamweaver什麼的來編輯域。
如果要檢測數字類型數據的話,再把域的id統一為sz.
javascript判斷日期類型比較麻煩,所以就沒有做日期類型校驗的程序了.高手可以補充。
程序比較草,只是提供一個思路。拋磚引玉! :)
哦,對了,函數調用方法:

< form onsubmit=」return dovalidate()」>
function dovalidate()
{
fm=document.forms[0] //只檢測一個form,如果是多個可以改變判斷條件
for(i=0;i<fm.length;i++)
{
//檢測判斷條件,根據類型不同可以修改
if(fm[i].tagName.toUpperCase()==」INPUT」 &&fm[i].type.toUpperCase()==」TEXT」 && (fm[i].title!=」"))

if(fm[i].value=」/blog/=」")//
{
str_warn1=fm[i].title+」不能為空!」;
alert(str_warn1);
fm[i].focus();
return false;
}
if(fm[i].id.toUpperCase()==」SZ」)//數字校驗
{
if(isNaN(fm[i].value))
{ str_warn2=fm[i].title+」格式不對」;
alert(str_warn2);
fm[i].focus();
return false;
}
}
}
return true;
}

6. js前端頁面 從「日期型」修改為「字元型「,並按」YYYY」 或 「YYYY-MM」 或 「YYYY-MM-DD」 進行校驗

你用日期控制項 然後設置一下不就可以了嗎,my97這個控制項就不錯。開源的。
不需要自己再次封裝。

7. js前端調試的幾個小技巧

1. debugger;

我以前也說過,你可以在JavaScript代碼中加入一句debugger;來手工造成一個斷點效果。

需要帶有條件的斷點嗎?你只需要用if語句包圍它:

if(somethingHappens){
debugger;
}

但要記住在程序發布前刪掉它們。

2. 設置在DOM node發生變化時觸發斷點

有時候你會發現DOM不受你的控制,自己會發生一些奇怪的變化,讓你很難找出問題的根源。

谷歌瀏覽器的開發工具里有一個超級好用的功能,專門可以對付這種情況,叫做「Break on…」,你在DOM節點上右鍵,就能看到這個菜單項。

斷點的觸發條件可以設置成這個節點被刪除、節點的屬性有任何變化,或它的某個子節點有變化發生。

3. Ajax 斷點

XHR斷點,或Ajax斷點,就像它們的名字一樣,可以讓我們設置一個斷點,在特點的Ajax調用發生時觸發它們。

當你在調試Web應用的網路傳輸時,這一招非常的有效。

tumblr_inline_n1s7ceQ08c1r2

4. 移動設備模擬環境

谷歌瀏覽器里有一些非常有趣的模擬移動設備的工具,幫助我們調試程序在移動設備里的運行情況。

找到它的方法是:按F12,調出開發者工具,然後按ESC鍵(當前tab不能是Console),你就會看到第二層調試窗口出現,裡面的Emulation標簽頁里有各種模擬設備可選。

當然,這不會就變成了真正的iPhone,只是模擬了iPhone的尺寸,觸摸事件和瀏覽器User Agent值。

tumblr_inline_n1s71kb2NL1r2

5. 使用Audits改進你的網站

YSlow是一個非常棒的工具。谷歌瀏覽器的開發者工具里也有一個非常類似的工具,叫Audits。

它可快速的審計你的網站,給你提出非常實際有效的優化你的網站的建議和方法。

8. 前端js校驗第一次提交時文本框中有內容提示錯誤信息,第二次點擊提交可以提交,沒有提示錯誤信息

<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title></title>
<style>
formtextarea {
resize:none;
width:200px;
height:100px;
}
tabletd{
vertical-align:top;
}
</style>
<script>
varsub=function(fm){
varreg=/^s+|s+$/g;
if(fm.title.value.replace(reg,"")==""){
alert("請輸入標題!");
fm.title.focus();
returnfalse;
}
if(fm.typename.value==""){
alert("請選擇新聞類別!");
fm.typename.focus();
returnfalse;
}
if(fm.content.value==""){
alert("請輸入內容!");
fm.content.focus();
returnfalse;
}
returntrue;
}
</script>
</head>
<body>
<formonsubmit="returnsub(this)">
<table>
<tr><td>標題:</td><td><inputtype="text"name="title"/></td></tr>
<tr><td>新聞類別:</td><td><selectname="typename">
<optionvalue="">請選擇</option>
<optionvalue="1">1</option>
<optionvalue="2">2</option>
<optionvalue="3">3</option>
</select></td></tr>
<tr><td>內容:</td><td><textareaname="content"></textarea></td></tr>
<tr><tdcolspan=2style="text-align:center;"><inputtype="submit"value="提交"/><inputtype="reset"value="重置"/></td></tr>
</table>
</form>
</body>
</html>

9. 測試時如何繞過前台js測出後台有沒有校驗

因為前段js有校驗,所以您輸入一些非法的字元,或者不再范圍內的數值,js肯定會提示錯誤,您沒辦法提交,也就無法和後台交互。正確的做法是,您可以使用http post,postman等http請求工具,填上url地址,填上參數,有get請求或者post請求,設置好之後直接去請求後台,查看返回值,如果後台沒有校驗的話一般會拋出異常等等,您通過response就可以看到了。不經過前端校驗直接請求後台。