編程手機號
用正則判斷,
/**
*驗證手機號碼格式是否正確
*@parammobiles
*@returntrue表示正確false表示不正確
*/
(Stringmobiles){
Patternp=Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}");
Matcherm=p.matcher(mobiles);
returnm.matches();
}
當然手機號碼好像還有17開頭的,對應的正則改一下就好
"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\d{8}"
然後在你的代碼裡面調用這個方法,如果結果為false,就throw new MyException(「手機號碼格式不正確」)一個異常。
異常定義可以去繼承Exception
/**
*CreatedbyKevinon2015/3/30.
*/
{
privateStringmsg;
publicMyException(Stringmsg){
super(msg);
this.msg=msg;
}
@Override
publicStringgetMessage(){
returnmsg;
}
}
② 用JAVA編程:輸入一個字元串,要求該字元串是一個11位數的手機號碼
這是一個正則式的問題
//校驗手機號碼:必須以數字開頭,除數字外,可含有「-」
function isMobile(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
var patrn=/^((\(\d{0,3}\))|(\d{0,3}\-))?13|15\d{9}$/;
if (!patrn.exec(s)){
return false;
}
return true;
}
③ 電話號碼編程
#include
#include
#include
int cmp(const void *a, const void *b){
return(*(int *)a-*(int *)b);
}
int main(){
char str[100];
int num[26]={2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 0, 7, 7, 8, 8, 8, 9, 9, 9, 0};
int n, a[100005], l, sum, i, k, flag, t, s, j, p;
scanf("%d", &n);
getchar();
k = 0;
while (k!=n){
gets(str);
l = strlen(str);
sum = 0;
for (i=0; i
if (str[i]>= '0' && str[i] <= '9'){
sum = sum*10 + str[i]-'1'+1;
continue;
}
if (str[i]>='A' && str[i]<='Z'){
if (str[i] == 'Q' || str[i] == 'Z') continue;
sum = sum * 10 + num[str[i]-'A'];
}
}
a[k] = sum;
k++;
}
a[k] = -1;
t = a[0];
flag = 0;
i = 1;
s = 1;
while (i!=k+1){
if (t == a[i]){
s++;
flag = 1;
}else {
if (s>1){
p = 1000000;
for(j=1; j<=3; j++){
printf("%d", t/p);
t = t%p;
p = p/10;
}
printf("-");
t = t000;
p = 1000;
for (j=1; j<=4; j++){
printf("%d", t/p);
t = t%p;
p = p/10;
}
printf(" %d\n", s);
}
t = a[i];
s=1;
}
i++;
}
if (flag == 0){
printf("No plicates.\n");
}
return 0;
}
