检查字符串的某个部分是否包含子字符串

时间:2019-03-14 11:01:22

标签: javascript string

我想检查字符串的某个部分是否包含子字符串。

到目前为止,这是我的代码:

var sHexValue = document.getElementById("ColourInput").value;
fnDebugMessage(sHexValue);

if (sHexValue.includes("#", 0)) {
  fnDebugMessage("TRUE");
}

因此,当前它从字符串中的位置ColourInput检查#是否包含0,但是我想对其进行限制,因此它仅检查{{1 }}

我该怎么做? 感谢您的帮助

5 个答案:

答案 0 :(得分:2)

备用,使用startsWith()

document.getElementById("ColourInput").value.startsWith('#')

答案 1 :(得分:1)

使用它来获取第一个元素:

 document.getElementById("ColourInput").value.charAt(0) === "#"

如果我正确理解的话,它将只检查值的第一个字符“#”,这就是您要查找的。

答案 2 :(得分:1)

尝试正则表达式

/^#/.test(sHexValue)

要获取完整的十六进制颜色,请使用

/^#[A-Fa-f0-9]{6}$/

function check() {
  let sHexValue = document.getElementById("ColourInput").value;
  let msg="Not contains: #";

  if(/^#/.test(sHexValue)) msg="contains: #";

  console.log(msg);

  if(/^#[A-Fa-f0-9]{6}$/.test(sHexValue)) console.log("Color :)");
}
<input id="ColourInput" onkeyup="check()">

答案 3 :(得分:1)

另一种方法是,检查'#'char的索引为0。那么在我们检查第0个索引的情况下,如果有多个#字符,这将起作用。

import React, { Component } from 'react';
import { Form, Button, Col, Row } from 'react-bootstrap';

class AddCourse extends Component {

    state = {
        courseName: '',
        courseType: '',
        courseGrade: '',
        courseHours: '',
        coursePassGrade: ''
    }

    onChange(e) {
        console.log('e.target', e.target.coursehours);


        this.setState({
             [e.target.name]: e.target.value });
    }

    onSubmit = (e) => {
        e.preventDefault();
        this.props.addCourse(this.state);
        this.setState({
            courseName: '',
            courseType: '',
            courseGrade: ''
        })
    }
    render() {
        const courses = this.props.courses.map(course =>
            <option 
                key={course.id} 
                value={course.courseName} 
                coursehours={course.courseHours} 
                coursepassgrade={course.coursePassGrade}  
            >
                {course.courseName}
            </option>
        )

        return (
            <div>
                <Form onSubmit={this.onSubmit}>
                    <Row>
                        <Col>
                            <Form.Group controlId="exampleForm.ControlSelect1">

                                <Form.Control
                                    as="select"
                                    name="courseName"
                                    defaultValue={this.state.courseName}
                                    onChange={this.onChange.bind(this)}
                                >
                                <option value="">Course...</option>
                                    {courses}

                                </Form.Control>
                            </Form.Group>
                        </Col>
                        <Col>
                            <Form.Group controlId="formGridState">

                                <Form.Control as="select"
                                    name="courseType"
                                    defaultValue={this.state.courseType}
                                    onChange={this.onChange.bind(this)}
                                >
                                    <option value="">Select...</option>
                                    <option value="true">a</option>
                                    <option value="false">m</option>
                                </Form.Control>
                            </Form.Group>
                        </Col>
                        <Col>
                            <Form.Group controlId="formBasicGrade">
                                <Form.Control
                                    type="number"
                                    placeholder="Course grade"
                                    name="courseGrade"
                                    defaultValue={this.state.courseGrade}
                                    onChange={this.onChange.bind(this)}
                                />
                            </Form.Group>

                            <Form.Group controlId="courseHours">
                                <Form.Control
                                    type="hidden"
                                    name="courseHours"
                                    defaultValue={this.props.courseHours}

                                />
                            </Form.Group>
                        </Col>
                        <Col>
                            <Form.Group controlId="submit">
                                <Button variant="primary" type="submit">
                                    Submit
                        </Button>
                            </Form.Group>
                        </Col>
                    </Row>
                </Form>
            </div>
        )
    }
}

export default AddCourse

答案 4 :(得分:1)

使用此代码检查字符串中char的索引是否为0。

sHexValue.indexOf("#") === 0

注意::IE浏览器可能不支持include()方法。因此,只需检查此方法,然后告诉我您是否要面对。 谢谢。