javascript - 过滤器,RegExp和变量的问题

时间:2016-06-11 06:48:47

标签: javascript

是否有一种更简单的方法来测试角色,我前几天看到了一些关于RegExp的内容,但它的应用与我现在正在做的不同。 piont就是例子:

  

如果firstname只包含public static void main(String[] args) { int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; for (int i = 0; i < array.length; i++) { System.out.println(array[index(i, array.length)]); } } private static int index(int i, int length) { int third = (length + 2) / 3; if (length % 3 == 1 && i >= third) { // spezial, because second third is smaller return index(i - 1, length - 1); } int group = i % third; return (group) * 3 + (i / third); } ,那么返回true 如果计数为+1,则当count为8或更高时,它将提交帖子。

但是当我把号码放在名字中时,它不起作用。

做一些你在脚本中找到错误或我可以做得更好的事情吗?

非常感谢。

&#13;
&#13;
a to z
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

正则表达式/^([a-zA-Z])/仅在字符串以a-z开头时匹配,请尝试此正则表达式:

/^[a-zA-Z]+$/

function valid_firstname(firstName) {
    return /^[a-zA-Z]+$/.test(firstName);
}

valid_firstname('John'); // true
valid_firstname('John42'); // false

答案 1 :(得分:0)

在函数checkVoornaam中使用正则表达式:

  

var filter = / ^([a-zA-Z])/;

最后错过 $ 字符。

现在它将与Mario以及Mario1和Mario2Ciao等匹配。

应该是:

#include"stdio.h"
#include"string.h"
#include"stdlib.h"

#define CHUNK 1000000

#define INT_COUNT 10000


int main(void) {
/*get all of the input*/
char temp_str[CHUNK] = "";
char* full_string = malloc(CHUNK * sizeof(char));
if (full_string == 0) {
    printf("Memory Error\n");
    exit(1);
}
int count = 2;
do {
    fgets(temp_str, CHUNK, stdin);
    strcat(full_string, temp_str);
    full_string = realloc(full_string, count * CHUNK * sizeof(char));
    if (full_string == 0) {
        printf("Memory Error\n");
        exit(1);
    }
    count++;
} while (strlen(temp_str) == CHUNK - 1 && temp_str[CHUNK - 2] != '\n');

//parse the input
char* token = strtok(full_string, " ");

int* arr = malloc(INT_COUNT * sizeof(int)), length = 0;
if (arr == 0) {
    printf("Memory Error\n");
    exit(1);
}

count = 1;

while (token != 0) {
    arr[length] = atoi(token);
    token = strtok(0, " ");
    length++;
    if (length == count * INT_COUNT) {
        count++;
        arr = realloc(arr, count * INT_COUNT);
        if(arr == 0) {
            printf("Memory Error\n");
            exit(1);
        }
    }
}

free(full_string);

//print the integers
for (int i = 0; i < length; i++) {
    printf("%d ", arr[i]);
    if (i % 20 == 0 && i != 0) {
        printf("\n");
    }
}

free(arr);

return 0;
}