Java 手机号码正则表达式验证

时间:2025-03-10 07:40:36
1.正则表达式的字符串表示
String mobileRegex = "^1(3|4|5|7|8)\\d{9}$";
字符^意义:表示匹配的字符必须在最前边;
字符$意义:表示待匹配串的结束位置;
字符\d{5,9}意义:\d是数字,{5,9}是5-9位,如果只是验证手机号,且校验的正则表达式如下:
/^1[3|5|8][0-9]\d{4,8}$/ ;
不妨写成 /^1[3|5|8]\d{9}$/ ;

2.对手机号字符串的校验
String mobileRegex = "^1(3|4|5|7|8)\\d{9}$";
if ((mobileRegex)){
    *******;
}else {
    *******;
}

注:

/**
     * Tells whether or not this string matches the given <a
     * href="../util/regex/#sum">regular expression</a>.
     *
     * <p> An invocation of this method of the form
     * <i>str</i><tt>.matches(</tt><i>regex</i><tt>)</tt> yields exactly the
     * same result as the expression
     *
     * <blockquote><tt> {@link }.{@link
     * #matches(String,CharSequence)
     * matches}(</tt><i>regex</i><tt>,</tt> <i>str</i><tt>)</tt></blockquote>
     *
     * @param   regex
     *          the regular expression to which this string is to be matched
     *
     * @return  <tt>true</tt> if, and only if, this string matches the
     *          given regular expression
     *
     * @throws  PatternSyntaxException
     *          if the regular expression's syntax is invalid
     *
     * @see
     *
     * @since 1.4
     * @spec JSR-51
     */
    public boolean matches(String regex) {
        return (regex, this);
    }
    

/**
     * Compiles the given regular expression and attempts to match the given
     * input against it.
     *
     * <p> An invocation of this convenience method of the form
     *
     * <blockquote><pre>
     * (regex, input);</pre></blockquote>
     *
     * behaves in exactly the same way as the expression
     *
     * <blockquote><pre>
     * (regex).matcher(input).matches()</pre></blockquote>
     *
     * <p> If a pattern is to be used multiple times, compiling it once and reusing
     * it will be more efficient than invoking this method each time.  </p>
     *
     * @param  regex
     *         The expression to be compiled
     *
     * @param  input
     *         The character sequence to be matched
     *
     * @throws  PatternSyntaxException
     *          If the expression's syntax is invalid
     */
    public static boolean matches(String regex, CharSequence input) {
        Pattern p = (regex);
        Matcher m = (input);
        return ();
    }