正則表達式控制Input輸入內容 ,js正則驗證方法大全


https://blog.csdn.net/xushichang/article/details/4041507

 
         
//輸入姓名的正則校驗   e.currentTarget.value = e.currentTarget.value.replace(/[^\u4E00-\u9FA5+]/ig,'') 
//身份證正則校驗
let reg = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/ig;
 

正則表達式控制Input輸入內容

 不能輸入中文
 <input type="text" name="textfield"  onkeyup="this.value=this.value.replace(/[^/da-z_]/ig,'');"/>
只能輸入 數字和下划線
<input onkeypress="return (/[/d_]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled" />
只能輸入 數字和小數點
<input onkeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled" />

 只允許輸入漢字</br>
<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')">


其一,只允許輸入數字和小數點。
<input onKeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">

其二,判斷的更詳細一些,甚至22..2這樣不算數字也判斷得出來

<script>
function check(){
if (isNaN(tt.value))
{alert("非法字符!");
tt.value="";}
}
</script>
<input type="text" name="tt" onkeyup="check();">

其三,只允許輸入整數。其實也完全可以根據第三條來舉一反三做一些限制。

<script language=javascript>
function onlyNum()
{
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
event.returnValue=false;
}
</script><input onkeydown="onlyNum();" style="ime-mode:Disabled>
結語,其實

style="ime-mode:Disabled
這句是比較實用的。意為關閉輸入法。省得有些人開着全角輸入數字,結果輸入不進去來找你哭天抹淚的,還怪你設計的不好。

只允許輸入數字
<input name="username" type="text" onkeyup="value=this.value.replace(//D+/g,'')">

只允許輸入英文字母、數字和下划線(以下二種方法實現)
<input name="username" type="text" style="ime-mode:disabled">
<input name="username" type="text" onkeyup="value=value.replace(/[^/w/.//]/ig,'')">

只允許輸入英文字母、數字和&=@
<input name="username" type="text" onkeyup="value=value.replace(/[^/w=@&]|_/ig,'')">

只允許輸入漢字
<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')">

 

 

 

 

 

https://blog.csdn.net/lqh4188/article/details/44037245  

1.JS正則驗證示例

 

  1.  
     
  2.  
    <div>
  3.  
    <%--只可錄入數字,直接用正則就可以--%>
  4.  
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" />
  5.  
    <%--驗證百分比,使用JS正則驗證--%>
  6.  
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" onblur="checkPercent(this)" />
  7.  
    <%--驗證電話號碼,使用JS正則驗證--%>
  8.  
    <input type= "text" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')" onblur="checkMobile(this.value)" />
  9.  
    </div>
  10.  
    <!--JS 正則驗證顯示-->
  11.  
    <script type= "text/javascript">
  12.  
    //驗證百分比
  13.  
    function checkPercent(obj) {
  14.  
    if (obj.value != "") {
  15.  
    var str = obj.value;
  16.  
    var pattern = /^([1-9]{1}[0-9]{0,1}|0)(\.\d{1,2}){0,1}$/;
  17.  
    if (!str.match(pattern)) {
  18.  
    alert( "格式錯誤,有效格式如:88.88%(整數最多兩位,小數位最多為兩位)");
  19.  
    obj. value = "";
  20.  
    obj.focus();
  21.  
    return false;
  22.  
    }
  23.  
    }
  24.  
    return true;
  25.  
    }
  26.  
    //驗證電話
  27.  
    function checkMobile(s) {
  28.  
    if (trim(s) != "") {
  29.  
    var regu = /^[1][3-8][0-9]{9}$/;
  30.  
    var re = new RegExp(regu);
  31.  
    if (re.test(s)) {
  32.  
    alert(s);
  33.  
    return true;
  34.  
    } else {
  35.  
    alert( "電話錄入格式錯誤");
  36.  
    return false;
  37.  
    }
  38.  
    }
  39.  
    }
  1.  
    //驗證電話
  2.  
    var checkPhone = function () { 
  3.  
        var $phone = $("#memberPhone");
  4.  
        if (!/^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9])\d{8}$/i.test($phone.val())) 
  5.  
        {
  6.  
          alert( "溫馨提示:請輸入正確手機號!");
  7.  
          $phone.focus();
  8.  
          return;
  9.  
        }
  10.  
    }
  11.  
    </script>
  12.  
    <!-- JS trim()方法-->
  13.  
    <script type="text/javascript">
  14.  
    function trim(str) { //刪除左右兩端的空格
  15.  
    return str.replace(/(^\s*)|(\s*$)/g, "");
  16.  
    }
  17.  
    function ltrim(str) { //刪除左邊的空格
  18.  
    return str.replace(/(^\s*)/g, "");
  19.  
    }
  20.  
    function rtrim(str) { //刪除右邊的空格
  21.  
    return str.replace(/(\s*$)/g, "");
  22.  
    }
  23.  
    </script>

 

2.正則驗證示例

說明:正則表達式通常用於兩種任務:1.驗證,2.搜索/替換。用於驗證時,通常需要在前后分別加上^和$,以匹配整個待驗證字符串;搜索/替換時是否加上此限定則根據搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正則表達式,除個別外均未在前后加上任何限定,請根據需要,自行處理。

說明 正則表達式
網址(URL) [a-zA-z]+://[^\s]*
IP地址(IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
電子郵件(Email) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ號碼 [1-9]\d{4,}
HTML標記(包含內容或自閉合) <(.*)(.*)>.*<\/\1>|<(.*) \/>
密碼(由數字/大寫字母/小寫字母/標點符號組成,四種都必有,8位以上) (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
日期(年-月-日) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
時間(小時:分鍾, 24小時制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
漢字(字符) [\u4e00-\u9fa5]
中文及全角標點符號(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
中國大陸固定電話號碼 (\d{4}-|\d{3}-)?(\d{8}|\d{7})
中國大陸手機號碼 1\d{10}
中國大陸郵政編碼 [1-9]\d{5}
中國大陸身份證號(15位或18位) \d{15}(\d\d[0-9xX])?
非負整數(正整數或零) \d+
正整數 [0-9]*[1-9][0-9]*
負整數 -[0-9]*[1-9][0-9]*
整數 -?\d+
小數 (-?\d+)(\.\d+)?
不包含abc的單詞 \b((?!abc)\w)+\b

3.正則替換字符串中圖片標簽

正則:<\s?img[^>]*>
var contesStr = contesStr.replace(/<\s?img[^>]*>/gi, ''); 

4.正則匹配所有p標簽

正則:<\S?p>  
可以匹配<p>  </p>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM