字母表的正则表达式可能包含数字,但不应包含所有数字

时间:2016-06-09 06:32:16

标签: javascript regex ruby-on-rails-4

需要验证表格name一些有效值为abcABc123123Xyb

以下是无效值34324234_jdf434等。

3 个答案:

答案 0 :(得分:2)

这应该这样做(用JavaScript表示):

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

也就是说,可以有零个或多个字母数字字符,后跟一个字母字符,后跟零个或多个字母数字字符。

示例:

var tests = [
  {valid: true, value: "abc"},
  {valid: true, value: "ABc123"},
  {valid: true, value: "123Xyb"},
  {valid: false, value: "34324234"},
  {valid: false, value: "_jdf434"}
];
var rex = /^[a-z0-9]*[a-z][a-z0-9]*$/i;
tests.forEach(function(test) {
  var valid = rex.test(test.value);
  console.log(test.value, valid, !valid == !test.valid ? "Pass" : "Fail");
});

答案 1 :(得分:0)

使用RegExp.test函数的解决方案:

function validateName(name) {
    return !/^[0-9]+$|[^a-zA-Z0-9]/.test(name);
}

console.log(validateName("ABc123"));   // true
console.log(validateName("123Xyb"));   // true
console.log(validateName("ABc123"));   // true
console.log(validateName("34324234")); // false
console.log(validateName("_jdf434"));  // false
console.log(validateName("df/434"));   // false

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

答案 2 :(得分:-1)

[A-Za-z]+[0-9]*

您可以使用此正则表达式。