>  기사  >  웹 프론트엔드  >  휴대전화번호 정기인증(코드포함)에 대한 자세한 설명

휴대전화번호 정기인증(코드포함)에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-03-29 17:54:231952검색

이번에는 휴대폰 번호 정기인증에 대한 자세한 설명(코드 포함)을 가져왔습니다. 휴대폰 번호 정기인증의 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

숫자만 허용됩니다

<xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute>
<xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//固定电话只要有一个填写即可
$('.form-inline').submit(function(){
    var m = $('input[name=mobile]').val();
    var p = $('input[name=phone]').val();
    var reg = /^1\d{10}$/;
    if((m == "" || !reg.test(m)) && p == ""){
      $('input[name=mobile]').addClass('error_color');
      $('input[name=mobile]').tooltip('show');
      return false;
    }else{
      $('input[name=mobile]').removeClass('error_color');
      $('input[name=mobile]').tooltip('hide');
      return true; 
    }
  })

최신 휴대전화번호 인증을 살펴보겠습니다정규식

휴대폰번호 세그먼트의 지속적인 업데이트로 인해 이전 정규식은 더 이상 요구 사항을 충족하지 못합니다. 이 표현식을 다시 작성하면 숫자 세그먼트 데이터 소스는 다음을 기반으로 합니다. http://www.jihaoba.com/tools/haoduan/

기존 휴대폰 번호 세그먼트:

모바일: 139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
차이나유니콤: 130 131 132 155 156 185 186 145 176
통신: 133 153 177 173 180 181 189

가상 운영자:

170 171

정렬 후:

130~139 145,147 15[012356789] 178,176,177,173,170,171 180~189

var regex = {
  mobile: /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
}

js:

var bool = checkRegexp(jq("#mobile"), /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/, "电话格式不对");

표현 분석:

"/"는 정규식을 나타냅니다.

"^"은 문자열의 시작 위치를 나타내고, "$"는 문자열의 끝 위치를 나타냅니다.

"?"는 이전 문자가 1 또는 0과 일치한다는 의미이므로 여기서 0?은 휴대폰 번호가 0으로 시작할 수 있음을 의미합니다.

다음 부분은 13부터 시작하는 11자리 휴대폰 번호를 확인하는 것입니다. 범위는 130~139이므로 선택 범위는 [0~9]이고, 15로 시작하는 번호는 154가 아니기 때문입니다. [] 에는 숫자 4가 없습니다. 물론 [0-35-9]로 쓸 수도 있습니다. 다음 18과 14의 숫자는 위와 같습니다.

포함된 괄호는 "|"로 구분된 4개의 선택적 분기를 포함하는 하위 표현식을 나타냅니다. 정규식에서 "|"의 우선순위는 가장 낮으며 여기서 일치하는 각 분기는 모두 3자([])입니다. 하나의 문자만 일치할 수 있습니다. 즉, 선택 사항입니다. 즉, 휴대폰 번호의 처음 3자리, 그 다음에는 일치해야 하는 8자리 숫자가 있습니다. 0-9가 될 수 있습니다. 어떤 문자든 가능하므로 "[0-9 ]{8}", {}의 숫자는 일치하는 이전 문자의 수를 나타냅니다.

분석이 완료되었습니다.

머리 큰 귀신이 앞에 86,17951 같은 걸 쓴다면?

/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/

C# 버전:

using System.Text.RegularExpressions;
    public static bool IsTelephone(string str_telephone)
    {
      return Regex.IsMatch(str_telephone, @"^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$");
    }

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

정규식을 사용하여 문자열을 추출하는 방법에 대한 자세한 설명(코드 포함)

정규식을 사용하여 js에서 문자와 숫자를 찾는 방법

위 내용은 휴대전화번호 정기인증(코드포함)에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.