Cell phone number legality judgment

Source: Internet
Author: User
<span id="Label3"></p><p><p>Problem Description:<br>China's mainland operators of mobile phone number standard format is: country code + mobile phone number, for example: 8613912345678. Features are as Follows:<br>1, 13 bits in length;<br>2, with 86 of the country code starts;<br>3, mobile phone number of each person is a number.</p></p><p><p>Please implement the function of judging the legality of mobile phone number (note: candidates do not need to pay attention to the authenticity of mobile phone number, that is, such as 86123123456789 mobile phone number, We also believe that is legal), requirements:<br>1) if the mobile phone number is valid, return 0;<br>2) If the phone number is not valid, return 1<br>3) If the phone number contains non-numeric characters, return 2;<br>4) if the mobile phone number does not begin with 86, return 3;<br>"note" In addition to the success of the case, the above other legal judgment priority Reduced. That is to say, if the length is not valid, return 1 directly, do not need to do other legal judgment.</p></p><p><p>Required Implementation Functions:<br>int VERIFYMSISDN (char* Inmsisdn)<br>"input" char* inmsisdn, which represents the input mobile number String.<br>"output" None<br>The result of the "return" judgment, type int.</p></p><p><p>Example<br>Input: inmsisdn = "869123456789"<br>Output: None<br>Returns: 1<br>Input: inmsisdn = "88139123456789"<br>Output: None<br>Returns: 3<br>Input: inmsisdn = "86139123456789"<br>Output: None<br>Returns: 0</p></p><p><p>The code is as Follows: self-written</p></p><pre class="prettyprint"><code class=" hljs axapta"><span class="hljs-preprocessor"><span class="hljs-preprocessor">#include <stdio.h></span></span><span class="hljs-preprocessor"><span class="hljs-preprocessor">#include <stdlib.h></span></span><span class="hljs-preprocessor"><span class="hljs-preprocessor">#include <string.h></span></span><span class="hljs-preprocessor"><span class="hljs-preprocessor">#include <ctype.h>//contains isdigit library functions</span></span><span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Judge_phonenum (<span class="hljs-keyword"><span class="hljs-keyword">Char</span></span>*<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>){<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Len=strlen (<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>);<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(len<<span class="hljs-number"><span class="hljs-number"></span> -</span>)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">1</span></span>;<span class="hljs-comment"><span class="hljs-comment">//first judgment Length</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Else</span></span>{<span class="hljs-comment"><span class="hljs-comment">//second judgment non-numeric characters</span></span> <span class="hljs-keyword"><span class="hljs-keyword"></span> for</span>(<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>I=<span class="hljs-number"><span class="hljs-number">0</span></span>; I<len;i++) {<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Flag=isdigit (<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>[i]);<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(flag==<span class="hljs-number"><span class="hljs-number">0</span></span>)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">2</span></span>; }<span class="hljs-comment"><span class="hljs-comment">//third Judge whether the beginning is the</span></span> <span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>[<span class="hljs-number"><span class="hljs-number">0</span></span>]==<span class="hljs-string"><span class="hljs-string">' 8 '</span></span>&&<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>[<span class="hljs-number"><span class="hljs-number">1</span></span>]==<span class="hljs-string"><span class="hljs-string">' 6 '</span></span>)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">0</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">Else</span></span> <span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">3</span></span>; }}<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Main () {<span class="hljs-keyword"><span class="hljs-keyword">Char</span></span> <span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>[<span class="hljs-number"><span class="hljs-number"></span> -</span>]; Gets<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>);<span class="hljs-keyword"><span class="hljs-keyword">int</span></span>Result=judge_phonenum (<span class="hljs-keyword"><span class="hljs-keyword">Str</span></span>); printf<span class="hljs-string"><span class="hljs-string">"%d"</span></span>, result);}</code></pre><p><p>referencing someone Else's Code.</p></p><pre class="prettyprint"><code class=" hljs bash"><span class="hljs-comment"><span class="hljs-comment">#include <stdio.h></span></span><span class="hljs-comment"><span class="hljs-comment">#include <string.h></span></span>int VERIFYMSISDN (char*<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>Msisdn) {int I,flag1 =<span class="hljs-number"><span class="hljs-number">0</span></span>, Flag2 =<span class="hljs-number"><span class="hljs-number">0</span></span>, Flag3 =<span class="hljs-number"><span class="hljs-number">1</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(strlen (<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>Msisdn) = =<span class="hljs-number"><span class="hljs-number"></span> -</span>) Flag1 =<span class="hljs-number"><span class="hljs-number">1</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>msisdn[<span class="hljs-number"><span class="hljs-number">0</span></span>] ==<span class="hljs-string"><span class="hljs-string">' 8 '</span></span>&&<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>msisdn[<span class="hljs-number"><span class="hljs-number">1</span></span>] ==<span class="hljs-string"><span class="hljs-string">' 6 '</span></span>) Flag2 =<span class="hljs-number"><span class="hljs-number">1</span></span>;<span class="hljs-keyword"><span class="hljs-keyword"></span> for</span>(i=<span class="hljs-number"><span class="hljs-number">0</span></span>; i< strlen (<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>Msisdn); I++)<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(! (<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>msisdn[i]>=<span class="hljs-string"><span class="hljs-string">' 0 '</span></span>&&<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>msisdn[i]<=<span class="hljs-string"><span class="hljs-string">' 9 '</span></span>)) Flag3 =<span class="hljs-number"><span class="hljs-number">0</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(flag1 && Flag2 && flag3)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">0</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">Else</span></span> <span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(!flag1)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">1</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">Else</span></span> <span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(!flag3)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">2</span></span>;<span class="hljs-keyword"><span class="hljs-keyword">Else</span></span> <span class="hljs-keyword"><span class="hljs-keyword">if</span></span>(!flag2)<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">3</span></span>; }int<span class="hljs-function"><span class="hljs-function"><span class="hljs-title">Main</span></span></span>() {char<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>msisdn[<span class="hljs-number"><span class="hljs-number"></span> -</span>]={<span class="hljs-number"><span class="hljs-number">0</span></span>}; Int<span class="hljs-keyword"><span class="hljs-keyword">return</span></span>_num;<span class="hljs-built_in"><span class="hljs-built_in">printf</span></span>(<span class="hljs-string"><span class="hljs-string">"please Input the mobile num:\n"</span></span>); scanf<span class="hljs-string"><span class="hljs-string">'%s '</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>Msisdn);<span class="hljs-keyword"><span class="hljs-keyword">return</span></span>_num = VERIFYMSISDN (<span class="hljs-keyword"><span class="hljs-keyword">inch</span></span>Msisdn);<span class="hljs-built_in"><span class="hljs-built_in">printf</span></span>(<span class="hljs-string"><span class="hljs-string">"the return num is:%d"</span></span>,<span class="hljs-keyword"><span class="hljs-keyword">return</span></span>_num); System<span class="hljs-string"><span class="hljs-string">"pause"</span></span>);<span class="hljs-keyword"><span class="hljs-keyword">return</span></span> <span class="hljs-number"><span class="hljs-number">0</span></span>;}</code></pre><p><p>Summary: IsDigit Library functions<br>prototype: extern int IsDigit (char c);<br>Function: determine if character C is a number<br>Note: when C is the number 0-9, returns a value other than 0, otherwise returns ZERO.<br>Additional instructions This is a macro definition, not a real function.</p></p> <p><p>Cell phone number legality judgment</p></p></span>
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.