簡體   English   中英

如何在jquery中結合正則表達式?

[英]how to combine regex in jquery?

你能告訴我如何在 jquery 中結合正則表達式嗎? .我有驗證手機號碼的功能。但我正在使用三 (3) 個正則表達式,我想合並為一 (1) 個。 我們可以這樣做嗎

這是我的代碼https://jsbin.com/japokekiji/edit?html,js,console,output

有效號碼

+919313854539

9313854539

09313854539

$(function(){
  var _const ={
     validMobileNumber: ['7777777777', '8888888888', '9999999999']
  }
  $('input').on('keyup',function(){
    console.log(validMobileNumber($(this).val()));
  })
      function validMobileNumber(mobileNumber) {
        var regWithoutZero = /^([7-9])[0-9]{9}$/;
        var regWithZero = /^(0)[7-9][0-9]{9}$/;
        var regWithCountryCode = /^(\+91)[7-9][0-9]{9}$/;
        var isValid = false;
        if (mobileNumber != "" && mobileNumber != null) {
            if (_const.validMobileNumber.indexOf(mobileNumber)!=-1) {
                isValid = false;
            }
            else if (regWithoutZero.test(mobileNumber) || regWithZero.test(mobileNumber) || regWithCountryCode.test(mobileNumber)) {
                isValid = true;
            }
            else {
                isValid = false;
            }
        }
        return isValid;
    }
})

好吧,這取決於,例如,如果您想使用 OR 運算符進行測試,這將是這樣的:

var mergedRegex = /^(([7-9])[0-9]{9}|(0)[7-9][0-9]{9}|(\+91)[7-9][0-9]{9})$/;

如果你想要一個 AND 運算符,試試這個:

var mergedRegex = /^(?=([7-9])[0-9]{9})(?=(0)[7-9][0-9]{9})(?=\+91)[7-9][0-9]{9})$/;

我會去:

var mergedRegex = /^(\\+91|0)?[7-9][0-9]{9}$/

如果您想了解有關正則表達式的所有知識,我建議您閱讀此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM