JS正則表達式驗證中文字符
正則表達式:"^[\u4e00-\u9fa5]{0,}$" 、 "/^[\u4E00-\u9FA5]{1,5}$/" 的含義:
在JS里,\uXXXX 是轉義字符,"XXXX"對應的是16進制Unicode編碼;
^ 匹配一行的開始。例如正則表達式^123能夠匹配字符串"12345"的開始,但是不能匹配"012345";
[\u4e00-\u9fa5] 指匹配在這兩個Unicode編碼之間的字符;
{0,} 重復0到無限次;
$以它為結束,如123$就是只匹配以123結尾的。1234則不能匹配。
就是說匹配以\u4e00-\u9fa5兩字符之間的字符任意組成的字符串(可以是1個字符以上的)而且這字符串前后都沒有其它字符。
典型應用:
$(function(){
// 驗證聯(lián)系人
$('input[name="contacts"]').focus(function(){
$(this).next().text('只支持中文字符');
}).blur(function(){
var pattern = /^[\u4E00-\u9FA5]{1,5}$/;
if(pattern.test($(this).val())){ //用原生JS的test()函數(shù)來匹配傳入的值,返回布爾值。
$(this).removeClass('input_err');
$(this).next().text('√').removeClass('txt_err').addClass('txt_correct');
isTrue=true;
}else{
$(this).addClass('input_err');
$(this).next().text("×").removeClass('txt_correct').addClass('txt_err');
}
});
// 驗證手機號碼
$('input[name="tel"]').focus(function(){
$(this).next().text('座機請用 - 進行分隔');
}).blur(function(){
var pattern = /^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$/;
if(pattern.test($(this).val())){
$(this).removeClass('input_err');
$(this).next().text('√').removeClass('txt_err').addClass('txt_correct');
isTrue=true;
}else{
$(this).addClass('input_err');
$(this).next().text("×").removeClass('txt_correct').addClass('txt_err');
isTrue=false;
}
});
})
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
JavaScript的變量聲明提升問題淺析(Hoisting)
大家應該都只奧javascript的變量聲明具有hoisting機制,JavaScript引擎在執(zhí)行的時候,會把所有變量的聲明都提升到當前作用域的最前面。網上關于JavaScript的變量聲明提升問題的文章有很多,這篇文章將再次談談關于這方面的問題,有需要的朋友們可以參考借鑒。2016-11-11
javascript十六進制數(shù)字和ASCII字符之間的轉換方法
下面小編就為大家?guī)硪黄猨avascript十六進制數(shù)字和ASCII字符之間的轉換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
Javascript實現(xiàn)圖片輪播效果(二)圖片序列節(jié)點的控制實現(xiàn)
這篇文章主要介紹了Javascript實現(xiàn)圖片輪播效果(二)圖片序列節(jié)點的控制實現(xiàn)的相關資料,需要的朋友可以參考下2016-02-02
JS繪圖Flot如何實現(xiàn)動態(tài)可刷新曲線圖
這篇文章主要介紹了JS繪圖Flot如何實現(xiàn)動態(tài)可刷新曲線圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10

