英语&的Javascript正则表达式仅限数字字符

时间:2011-03-08 11:15:18

标签: javascript regex

检查表达式是仅包含英文字符还是数字字符的最简单方法是什么?没有空格,没有其他字符。

p.s - 第一个字符不能是数字。大写或小写。

6 个答案:

答案 0 :(得分:7)

我会使用:/^[A-Za-z][A-Za-z0-9]*$/。以下是相同的例子:

/^[A-Za-z][A-Za-z0-9]*$/.test("expression");
/^[A-Za-z][A-Za-z0-9]*$/.test("EXPRESSION");
/^[A-Za-z][A-Za-z0-9]*$/.test("e123xpression");
/^[A-Za-z][A-Za-z0-9]*$/.test("E123xpression");
/^[A-Za-z][A-Za-z0-9]*$/.test("1expression");

没有边界(^$)regexp也匹配任何子字符串。

编辑:更新了无效表达

答案 1 :(得分:5)

最简单的:

/^[a-z][a-z0-9]*$/i

表达式的解释:

  • / - open expression
  • ^ - 字符串必须从这里开始。
  • 之前没什么
  • [a-z] - 在a到z之间只找到一个字符,包括
  • [a-z0-9]* - 找到a到z之间的任何字符序列,包括0-9之间,包括(“任何序列”部分最后是*)
  • $ - 字符串必须在此处结束。
  • 之后什么都没有
  • / - 关闭表达
  • i - 表达式不区分大小写

使用以下案例进行测试

var tests = //key = case, value = expected results { "joe" : true //only lower case , "JOE" : true //only capital , "charsAndCaps" : true //mixed case , "ABC444" : true //caps and numbers , "AAaaAA3276" : true //mixed case with numbers , "111Joe" : false //starts with number , "112345" : false //only numbers , "asaaa$" : false //non-alphanumeric char in the end , "asaaaלא" : false //non-latin char in the end , "asaaнет" : false //non-latin char in the end , "#asaaa" : false //non-alphanumeric char in the start , "לאasaaa" : false //non-latin char in the start , "нетasaa" : false //non-latin char in the start , "aaלאasaa" : false //non-latin char in the middle , "sssнетaa" : false //non-latin char in the middle , "as&&aaa" : false //non-alphanumeric char in the middle , "" : false //empty string }

尝试: http://jsfiddle.net/erJ4H/161/

答案 2 :(得分:3)

试试这个:

/^[a-z][a-z\d]*$/i

添加一些例子:

/^[a-z][a-z\d]*$/i.test("check#$#"); // false
/^[a-z][a-z\d]*$/i.test("1check"); // false
/^[a-z][a-z\d]*$/i.test("check1"); // true 
/^[a-z][a-z\d]*$/i.test("cHEck1"); // true

答案 3 :(得分:2)

使用此:[a-zA-Z][a-zA-Z0-9]*

答案 4 :(得分:1)

  

/ ^ [A-ZA-Z \ d] + $

/^[A-Za-z\d]+$.test("TEST1"); // true
/^[A-Za-z\d]+$.test("Test2"); // true
/^[A-Za-z\d]+$.test("test3"); // true 
/^[A-Za-z\d]+$.test("4TEST"); // true
/^[A-Za-z\d]+$.test("5Test"); // true
/^[A-Za-z\d]+$.test("6test"); // true 
/^[A-Za-z\d]+$.test("TE7ST"); // true
/^[A-Za-z\d]+$.test("Te8st"); // true
/^[A-Za-z\d]+$.test("te9st"); // true 

答案 5 :(得分:0)

试试这个/^[a-z]+[a-z0-9]*$/i

相关问题