我有那些php脚本:
<input type="text" name="value">
$value=$_POST['value']
if( ctype_alpha(substr($value,0,2)) && is_numeric(substr($value,2,2)) ){
//do smthing
}
我无法在javascript中找到类似的验证。我是js的新手,所以我不能单独做,特别是因为我需要尽可能快。 我需要检查输入值的一部分是否只包含字母字符,输入值的一部分是否只包含数字字符,当然还有如何提取输入的那部分。
答案 0 :(得分:0)
使用正则表达式:
/^-?([1-9]\d+|\d)(\.\d+)?$/.test("1234"); // true
/^-?([1-9]\d+|\d)(\.\d+)?$/.test("asdf"); // false
/^[a-zA-Z]+$/.test("asdf"); // true
/^[a-zA-Z]+$/.test("1234"); // false
或者你只想要两个与PHP同名的函数:
function ctype_alpha(input) {
// this works for both upper and lower case
return /^[a-zA-Z]+$/.test(input);
}
function is_numeric(input) {
// this works for integer, float, negative and positive number
return /^-?([1-9]\d+|\d)(\.\d+)?$/.test(input);
}
ctype_alpha("asdf"); // true
is_numeric("1234"); // true
is_numeric("-1234"); // true
is_numeric("12.34"); // true
is_numeric("0.4"); // true
is_numeric("001"); // false
最后是JS代码使用的端口:
var input = "your_string"
function ctype_alpha(input) {
// this works for both upper and lower case
return /^[a-zA-Z]+$/.test(input);
}
function is_numeric(input) {
// this works for integer, float, negative and positive number
return /^-?([1-9]\d+|\d)(\.\d+)?$/.test(input);
}
if(ctype_alpha(input.substring(0, 2)) && is_numeric(input.substring(2, 4))) {
//do smthing
}