一部分轉自:http://www.cnblogs.com/hongten/archive/2011/03/21/1990121.html
一部分其他地方自己收集
這裡所有的javascript函數都經過實際測試。
索引:
1. 驗證radio 是否選擇
2. 檢測輸入長度限制
3. 3.1.1 鍵盤能輸入隻能是數字
3.1.2 鍵盤能輸入隻能是數字
3.2. 鍵盤不能輸入數字
4. 4.1 驗證郵箱格式
4.2 驗證郵箱格式
5. 屏蔽關鍵字( 這裡屏蔽*** 和****)
6. 中文/ 英文/ 數位/ 合法性判斷
7. 7.1 檢查一段字串是否全由數位組成
7.2 檢查一段字串是否全由數位組成
8. 判斷是否全是字元
9. 判斷是否含有漢字
10. 判斷輸入是否為中文的函數
11. 11.1 判斷使用者名是否為數位字母下滑線
11.2 判斷字元串是否為數值
12. 12.1 檢查電話号碼
12.2 檢查電話号碼
13. 驗證email, 傳回true & false
14. 檢查是否為有效的真實姓名,隻能含有中文或大寫的英文字母
15. 快速比較兩個字元串的不同字元
16. 檢查年齡是否符合
17. 檢查密碼隻允許由ascii 組成
18. 檢查輸入值是否符合整數格式
19. 檢查輸入字元串是否為空或者全部都是空格
20. 校驗IP 位址的格式
1. 驗證 radio 是否選擇
<script type="text/javascript ">
function isRadioSelected(obj )
{
for (var i = 0; i < obj.oo.length; i ++)
{
if(obj.oo[i].checked == true)
{
return true;
}
}
alert(" 請選擇 ");
return false;
}
</script>
<form id="form1" name="form1" method="post" action="#" onsubmit ="return isRadioSelected(this);">
<input type="radio" name="oo " value="radiobutton " />
<input type="radio" name="oo " value="radiobutton " />
<input type="submit" name="Submit" value=" 送出 " />
</form>
2. 檢測輸入長度限制
<script type="text/javascript ">
function checkValueLength()
{
if(document.a.b.value.length > 50)
{
alert(" 不能超過 50 個字元! ");
document.a.b.focus();
return false;
}
}
</script>
<form name="a" onsubmit ="return checkValueLength();">
<textarea name="b" cols ="40" rows="6"></textarea>
<input type="submit" name="Submit" />
</form>
3.1.1 鍵盤能輸入隻能是數字
<script type="text/javascript ">
function onlyNumbers(e)
{
var keynum ;
var keychar ;
var numcheck ;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape /Firefox /Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum );
numcheck = /\d/; // \d 代表數字 0-9
return numcheck.test(keychar );
}
</script>
<input type="text" onkeypress ="return onlyNumbers(event);" />
3.1.2 鍵盤能輸入隻能是數字
<script type="text/javascript ">
function check(obj ) {
if(event.keyCode == 13 || event.keyCode == 46) {
return true;
}
if(event.keyCode < 48 || event.keyCode >57) {
return false;
} else {
return true;
}
}
</script>
<input type="text" name="textfield " onkeypress ="javascript:return check(this);" />
3.2. 鍵盤不能輸入數字
<script type="text/javascript ">
function noNumbers(e)
{
var keynum ;
var keychar ;
var numcheck ;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape /Firefox /Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum );
numcheck = /\d/;
return !numcheck.test(keychar );
}
</script>
<input type="text" onkeypress ="return noNumbers(event);" />
4.1 驗證郵箱格式
<script type="text/javascript ">
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(" 格式錯誤 ");
}
}
</script>
<input type="text" onblur ="isEmail(this.value)" />
4.2 驗證郵箱格式
<script type="text/javascript ">
function emailCheck(emailStr) {
var emailPat=/^(.+)@(.+)$/;
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert(" 電子郵件位址必須包括 ( @ 和 . )");
return false;
}
return true;
}
</script>
<input type="button" name="Submit" value="check" onclick ="emailCheck('[email protected] ');" />
5. 屏蔽關鍵字 ( 這裡屏蔽 *** 和 ****)
<script type="text/javascript ">
function test() {
// 這裡測試是否包含 "***","****"
if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf("****") == 0)){
alert(" 包含字元串 ");
a.b.focus();
return false;
}
}
</script>
<input type="text" name="b" />
<input type="button" name="Submit" value="check" onclick ="test();" />
6. 中文 / 英文 / 數位 / 合法性判斷
<script type="text/javascript ">
function isEnglish(str ) // 英文值檢測
{
if(str.length == 0) return false;
for(var i = 0; i < str.length; i ++)
{
if(str.charCodeAt(i) > 128)
{
return false;
}
}
return true;
}
function isChinese(str ) // 中文值檢測
{
if(str.length == 0) return false;
for(var i = 0; i < str.length; i++)
{
if(str.charCodeAt(i) <= 128)
{
return false;
}
}
return true;
}
function isNumber(str ) // 數值檢測
{
if(str.length == 0) return false;
for(var i = 0; i < str.length; i++)
{
if(str.charAt(i) < "0" || str.charAt(i) > "9")
{
return false;
}
}
return true;
}
</script>
<input type="button" name="Submit" value="check" onclick ="isChinese(' 測試 ');" />
7.1 檢查一段字串是否全由數位組成
<script type="text/javascript ">
function checkNum(str ) {
return str.match(/\D/) == null;
}
alert(checkNum("1232142141"));
alert(checkNum("123214214a1"));
</script>
7.2 檢查一段字串是否全由數位組成
<script type="text/javascript ">
function isNumber(oNum) {
if(!oNum) return false;
var strP=/^\d+(\.\d+)?$/;
if(!strP.test(oNum)) return false;
try{
if(parseFloat(oNum) != oNum) return false;
} catch (ex ) {
return false;
}
return true;
}
</script>
<input type="button" value=" 按鈕 " onclick ="isNumber('3223a2');"></input>
8. 判斷是否全是字元
<script type="text/javascript ">
function checkAllChar(str ) {
if (/[^\x00-\xff ]/g.test(str )) {
alert(" 含有漢字 ");
} else {
alert(" 全是字元 ");
}
}
</script>
<input type="button" name="Submit" value="check" onclick ="checkAllChar('faafdfdsa2431243fda');" />
9. 判斷是否含有漢字
<script type="text/javascript ">
function checkHasChn(str ) {
if (escape(str ).indexOf("%u") != -1) {
alert(" 含有漢字 ");
} else {
alert(" 全是字元 ");
}
}
</script>
<input type="button" name="Submit" value="check" onclick ="checkHasChn('faafdfdsa 漢字 2431243fda');" />
10. 判斷輸入是否為中文的函數
<script type="text/javascript ">
function ischinese (s) {
var re t= true;
for(var i=0;i<s.length;i++)
{
ret = ret && (s.charCodeAt(i)>=10000);
}
return ret ;
}
</script>
<input type="button" name="Submit" value="check" onclick ="ischinese (' 漢字 ');" />
11.1 判斷使用者名是否為數位字母下滑線
<script type="text/javascript ">
function checkUserName(str ) {
var reg = /[^A-Za -z0-9_]/g;
if (reg.test(str )) {
return false;
} else {
return true;
}
}
</script>
<input type="button" name="Submit" value="check" onclick ="checkUserName('fdafdafdasfa_s');" />
11.2 判斷字元串是否為數值
<script type="text/javascript">
function regIsNumber(fData)
{
var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");
return reg.test(fData);
}
</script>
<input type="button" value=" 測試 " οnclick="regIsNumber('2323.00');" />
12.1 檢查電話号碼
<script type="text/javascript">
function isTel(str) {
var reg=/^([0-9]|[\-])+$/g ;
if(str.length < 7 || str.length > 18) {
return false;
} else {
return reg.exec(str);
}
}
</script>
<input type="button" name="Submit" value="check" οnclick="isTel('11111111111');" />
12.2 檢查電話号碼
<script type="text/javascript">
function regIsPhone(fData)
{
var reg = /^(\+86)?(1[0-9]{10})$/;
return reg.test(fData);
}
</script>
<input type="button" value=" 測試 " οnclick="regIsPhone('11111111111');" />
13. 驗證 email, 傳回 true & false
<script type="text/javascript">
function isEmail(str) {
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(str);
}
</script>
<input type="button" name="Submit" value="check" οnclick="isEmail('[email protected]');" />
14. 檢查是否為有效的真實姓名,隻能含有中文或大寫的英文字母
<script type="text/javascript">
function isEmail(str) {
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(str);
}
</script>
<input type="button" name="Submit" value="check" οnclick="isEmail('[email protected]');" />
15. 快速比較兩個字元串的不同字元
<script type="text/javascript">
function compareStrs(str1, str2) {
var re = new RegExp("(?=.*?)[^" + str1 +"](?=.*?)|(?=.*?)[^" + str2 + "](?=.*?)", "g");
var arr;
while ((arr = re.exec(str1 + str2)) != null)
{
document.write(arr);
}
}
</script>
<input type="button" name="Submit" value="check" οnclick="compareStrs('abc 字元串 ', 'abe 字 fg');" />
16. 檢查年齡是否符合
<script type="text/javascript">
function isAge(str){
var mydate = new Date();
var now = mydate.getFullYear();
if (str < now - 60 || str > now - 18) {
alert("false");
return false;
}
alert("true");
return true;
}
</script>
<input type="button" name="Submit" value="check" οnclick="isAge('1990');" />
17. 檢查密碼隻允許由 ascii 組成
<script type="text/javascript">
function checkValidPasswd(str) {
var reg = /^[x00-x7f]+$/;
if (! reg.test(str)) {
return false;
}
if (str.length < 6 || str.length > 16) {
return false;
}
return true;
}
</script>
<input type="button" name="Submit" value="check" οnclick="checkValidPasswd('19fda90');" />
18. 檢查輸入值是否符合整數格式
<script type="text/javascript">
function isInteger(str) {
var regu = /^[-]{0,1}[0-9]{1,}$/;
return regu.test(str);
}
</script>
<input type="button" name="Submit" value="check" οnclick="isInteger('1990');" />
19. 檢查輸入字元串是否為空或者全部都是空格
<script type="text/javascript">
function isNull(str){
if (str == "") return true;
var regu = "^[ ]+$";
var re = new RegExp(regu);
alert(re.test(str));
return re.test(str);
}
</script>
<input type="button" name="Submit" value="check" οnclick="isNull(' ');" />
20. 校驗 IP 位址的格式
<script type="text/javascript">
function isIP(strIP) {
if (strIP.length == 0)
{
return false;
}
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;
if(re.test(strIP))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)
{
return true;
}
}
return false;
}
</script>
<input type="button" name="Submit" value="check" οnclick="isIP('127.0.0.1');" />